This module contains a collection of YANG definitions for Cisco IOS-XR if-access-group package configuration. This YANG module ...
Version: 2019-06-10
module Cisco-IOS-XR-um-if-access-group-cfg { yang-version 1; 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."; } revision "2019-04-02" { description "Initial version"; } semver:module-version "1.0.0"; grouping GROUP-IPV4 { container access-group { tailf:dependency "../../a1:interface-name"; 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'))]"; description "Specify access group for packets"; container ingress { xr:xr-xml-map "ip_pfilter_cfg:Outbound"; must "access-list-name-1"; presence "Indicates an ingress node is configured."; description "IPv4 Packet filter to be applied to inbound packets"; 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 common } // container access-list-name-1 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 common } // container access-list-name-2 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 common } // container access-list-name-3 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 common } // container access-list-name-4 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 common } // container access-list-name-5 container hardware-count { tailf:dependency "../../../../a1:interface-name"; when "../../../../a1:interface-name[not(starts-with(text(),'MgmtEth'))]"; presence "Indicates a hardware-count node is configured."; description "Count packets in hardware"; } // container hardware-count container interface-statistics { presence "Indicates an interface-statistics node is configured."; description "Per interface statistics in hardware"; } // container interface-statistics 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 ingress container egress { xr:xr-xml-map "ip_pfilter_cfg:Outbound"; presence "Indicates an egress node is configured."; description "IPv4 Packet filter to be applied to outbound packets"; 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 access-list-name container hardware-count { tailf:dependency "../../../../a1:interface-name"; when "../../../../a1:interface-name[not(starts-with(text(),'MgmtEth'))]"; presence "Indicates a hardware-count node is configured."; description "Count packets in hardware"; } // container hardware-count container interface-statistics { presence "Indicates an interface-statistics node is configured."; description "Per interface statistics in hardware"; } // container interface-statistics leaf compress-level { type uint32 { range "0..3"; } description "Specify ACL compression in hardware"; } } // container egress } // container access-group } // grouping GROUP-IPV4 grouping GROUP-IPV6 { container access-group { tailf:dependency "../../a1:interface-name"; 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'))]"; description "Specify access group for packets"; container ingress { xr:xr-xml-map "ip_pfilter_cfg:Outbound"; must "access-list-name-1"; presence "Indicates an ingress node is configured."; description "IPv6 Packet filter to be applied to inbound packets"; 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 common } // container access-list-name-1 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 common } // container access-list-name-2 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 common } // container access-list-name-3 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 common } // container access-list-name-4 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 common } // container access-list-name-5 container interface-statistics { presence "Indicates an interface-statistics node is configured."; description "Per interface statistics in hardware"; } // container interface-statistics 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 ingress container egress { xr:xr-xml-map "ip_pfilter_cfg:Outbound"; presence "Indicates an egress node is configured."; description "IPv6 Packet filter to be applied to outbound packets"; 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 access-list-name-1 container interface-statistics { presence "Indicates an interface-statistics node is configured."; description "Per interface statistics in hardware"; } // container interface-statistics leaf compress-level { type uint32 { range "0..3"; } description "Specify ACL compression in hardware"; } } // container egress } // container access-group } // grouping GROUP-IPV6 grouping GROUP-ETHERNET-SERVICES { container ethernet-services { tailf:dependency "../a1:interface-name"; 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'))]"; 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"; } } // container access-group } // container ethernet-services } // grouping GROUP-ETHERNET-SERVICES 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; } } // module Cisco-IOS-XR-um-if-access-group-cfg
© 2023 YumaWorks, Inc. All rights reserved.