This module contains a collection of YANG definitions extending classmap module based on IETF-diffserv classifier. Copyright (c)...
Version: 2019-07-01
module cisco-policy-filters { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:cisco-policy-filters"; prefix cisco-filter; import cisco-semver { prefix cisco-semver; } import ietf-diffserv-classifier { prefix classifier; } import policy-attr { prefix policy-attr; } import policy-types { prefix policy-types; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com Editor: Nazanin Magharei <mailto:nmaghare@cisco.com>"; description "This module contains a collection of YANG definitions extending classmap module based on IETF-diffserv classifier. Copyright (c) 2016 by Cisco Systems, Inc. All rights reserved."; revision "2019-07-01" { description "Establish semantic version baseline"; } revision "2016-03-30" { description "Update description with copyright notice."; } revision "2015-04-27" { description "First revision"; reference "TBD"; } cisco-semver:module-version "1.0.0"; augment /classifier:classifiers/classifier:classifier-entry { description "Augment class type to Diffserv Classifier Entry"; leaf classifier-entry-type { type identityref { base policy-types:class-type; } description "Type of the class-map"; } } augment /classifier:classifiers/classifier:classifier-entry/classifier:filter-entry/classifier:filter-param { description "Augment Cisco policy filters to Diffserv Classifier Entry"; case cos { if-feature policy-types:match-cos-support; container cos-cfgs { list cos-cfg { must 'cos-min <= cos-max' { description "The configuration is a range, for individual values min and max should be equal."; } key "cos-min cos-max"; description "Match Type COS configuration"; uses policy-attr:cos-cfg; } // list cos-cfg } // container cos-cfgs } // case cos case cos-inner-filter { if-feature policy-types:match-cos-inner-support; container cos-inner-cfgs { description "Match Type COS-INNER"; list cos-inner-cfg { must 'cos-min <= cos-min' { description "The configuration is a range, for individual values min and max should be equal."; } key "cos-min cos-max"; description "Match Type COS-INNER configuration"; uses policy-attr:cos-cfg; } // list cos-inner-cfg } // container cos-inner-cfgs } // case cos-inner-filter case ipv4-acl-name-filter { if-feature policy-types:match-ipv4-acl-name-support; container ipv4-acl-name-cfgs { description "Match IPv4 Access-list name"; list ipv4-acl-name-cfg { key "ip-acl-name"; description "Match IPv4 Access-list name configuration"; uses policy-attr:ip-acl-name-cfg; } // list ipv4-acl-name-cfg } // container ipv4-acl-name-cfgs } // case ipv4-acl-name-filter case ipv6-acl-name-filter { if-feature policy-types:match-ipv6-acl-name-support; container ipv6-acl-name-cfgs { description "Match IPv6 Access-list name"; list ipv6-acl-name-cfg { key "ip-acl-name"; description "Match IPv6 Access-list name configuration"; uses policy-attr:ip-acl-name-cfg; } // list ipv6-acl-name-cfg } // container ipv6-acl-name-cfgs } // case ipv6-acl-name-filter case ipv4-acl-filter { if-feature policy-types:match-ipv4-acl-support; container ipv4-acl-cfgs { description "Match IPv4 Access-list number"; list ipv4-acl-cfg { key "ip-acl"; description "Match IPv4 Access-list number configuration"; uses policy-attr:ip-acl-cfg; } // list ipv4-acl-cfg } // container ipv4-acl-cfgs } // case ipv4-acl-filter case ipv6-acl-filter { if-feature policy-types:match-ipv6-acl-support; container ipv6-acl-cfgs { description "Match IPv6 Access-list number"; list ipv6-acl-cfg { key "ip-acl"; description "Match IPv6 Access-list number configuration"; uses policy-attr:ip-acl-cfg; } // list ipv6-acl-cfg } // container ipv6-acl-cfgs } // case ipv6-acl-filter case input-interface { if-feature policy-types:match-input-interface-support; container input-interface-cfgs { description "Match type Input interface"; list input-interface-cfg { key "if-name"; description "Match type Input interface configuration"; uses policy-attr:input-interface-cfg; } // list input-interface-cfg } // container input-interface-cfgs } // case input-interface case src-mac { if-feature policy-types:match-src-mac-support; container src-mac-cfgs { description "Match Type Source MAC Address"; list src-mac-cfg { key "mac"; description "Match Type Source MAC Address configuration"; uses policy-attr:mac-cfg; } // list src-mac-cfg } // container src-mac-cfgs } // case src-mac case dst-mac { if-feature policy-types:match-dst-mac-support; container dst-mac-cfgs { description "Match Type Destination MAC Address"; list dst-mac-cfg { key "mac"; description "Match Type Destination MAC Address configuration"; uses policy-attr:mac-cfg; } // list dst-mac-cfg } // container dst-mac-cfgs } // case dst-mac case protocol-name { if-feature policy-types:protocol-name-support; container protocol-name-cfgs { description "Match Type name-based protocol"; list protocol-name-cfg { key "protocol-name"; description "Match Type name-based protocol configuration"; uses policy-attr:protocol-name-cfg; } // list protocol-name-cfg } // container protocol-name-cfgs } // case protocol-name case mpls-exp-top { if-feature policy-types:match-mpls-exp-top-support; container mpls-exp-top-cfgs { description "Match MPLS experimental Topmost"; list mpls-exp-top-cfg { must 'exp-min <= exp-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "exp-min exp-max"; description "Match MPLS experimental Topmost configuration"; uses policy-attr:mpls-exp-cfg; } // list mpls-exp-top-cfg } // container mpls-exp-top-cfgs } // case mpls-exp-top case mpls-exp-imp { if-feature policy-types:match-mpls-exp-imp-support; container mpls-exp-imp-cfgs { description "Match MPLS experimental Imposition"; list mpls-exp-imp-cfg { must 'exp-min <= exp-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "exp-min exp-max"; description "Match MPLS experimental Imposition configuration"; uses policy-attr:mpls-exp-cfg; } // list mpls-exp-imp-cfg } // container mpls-exp-imp-cfgs } // case mpls-exp-imp case packet-length { if-feature policy-types:match-packet-length-support; container pkt-len-cfgs { description "Match Type Packet Length"; list pkt-len-cfg { must 'min-pkt-len <= max-pkt-len' { description "The configuration is a range, for individual values min and max should be equal. "; } key "min-pkt-len max-pkt-len"; description "Match Type Packet Length configuration"; uses policy-attr:pkt-len-cfg; } // list pkt-len-cfg } // container pkt-len-cfgs } // case packet-length case prec { if-feature policy-types:match-prec-support; container prec { description "Match Type Precedence in IPv4 and IPv6 packets"; choice prec-par { description "Match Type Precedence in IPv4 and IPv6 packets based on value or attribute"; container prec-val-cfgs { description "Match Type Precedence based on value"; list prec-val-cfg { key "prec-val"; description "Match Type Precedence based on value configuration"; uses policy-attr:prec-val-cfg; } // list prec-val-cfg } // container prec-val-cfgs container prec-attr-cfgs { description "Match Type Precedence based on attribute"; list prec-attr-cfg { key "prec-attr"; description "Match Type Precedence based on attribute configuration"; uses policy-attr:prec-attr-cfg; } // list prec-attr-cfg } // container prec-attr-cfgs } // choice prec-par } // container prec } // case prec case qos-group { if-feature policy-types:match-qos-group-support; container qos-group-cfgs { description "Match Type QoS Group"; list qos-group-cfg { must 'qos-group-min<=qos-group-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "qos-group-min qos-group-max"; description "Match Type QoS Group configuration"; uses policy-attr:qos-group-cfg; } // list qos-group-cfg } // container qos-group-cfgs } // case qos-group case vlan { if-feature policy-types:match-vlan-support; container vlan-cfgs { description "Match Type VLAN"; list vlan-cfg { must 'vlan-min<=vlan-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "vlan-min vlan-max"; description "Match Type VLAN configuration"; uses policy-attr:vlan-cfg; } // list vlan-cfg } // container vlan-cfgs } // case vlan case vlan-inner { if-feature policy-types:match-vlan-inner-support; container vlan-inner-cfgs { description "Match Type Inner VLAN"; list vlan-inner-cfg { must 'vlan-min<=vlan-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "vlan-min vlan-max"; description "Match Type Inner VLAN configuration"; uses policy-attr:vlan-cfg; } // list vlan-inner-cfg } // container vlan-inner-cfgs } // case vlan-inner case atm-clp { if-feature policy-types:match-atm-clp-support; container atm-clp-cfg { description "Match ATM Cell Loss Priority (CLP)"; uses policy-attr:atm-clp-cfg; } // container atm-clp-cfg } // case atm-clp case atm-vci { if-feature policy-types:match-atm-vci-support; container atm-vci-cfgs { description "Match ATM Virtual Channel Identifier (VCI)"; list atm-vci-cfg { must 'atm-vci-min<=atm-vci-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "atm-vci-min atm-vci-max"; description "Match ATM Virtual Channel Identifier (VCI) configuration"; uses policy-attr:atm-vci-cfg; } // list atm-vci-cfg } // container atm-vci-cfgs } // case atm-vci case dei { if-feature policy-types:match-dei-support; container dei-cfg { description "Match Type DEI Bit configuration"; uses policy-attr:dei-cfg; } // container dei-cfg } // case dei case dei-inner { if-feature policy-types:match-dei-inner-support; container dei-inner-cfg { description "Match Type Inner DEI Bit"; uses policy-attr:dei-cfg; } // container dei-inner-cfg } // case dei-inner case flow-ip { if-feature policy-types:match-flow-ip-support; container flow-ip-cfg { description "Match Type flow"; uses policy-attr:flow-cfg; } // container flow-ip-cfg } // case flow-ip container flow-record-cfg { description "Match Type flow Record Name"; uses policy-attr:flow-record-cfg; } // container flow-record-cfg case fr-de { if-feature policy-types:match-fr-de-support; container fr-de-cfg { description "Match Frame Relay DE"; uses policy-attr:fr-de-cfg; } // container fr-de-cfg } // case fr-de case fr-dlci { if-feature policy-types:match-fr-dlci-support; container fr-dlci-cfgs { description "Match Frame Relay DLCI"; list fr-dlci-cfg { must 'dlci-min<=dlci-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "dlci-min dlci-max"; description "Match Frame Relay DLCI configuration"; uses policy-attr:fr-dlci-cfg; } // list fr-dlci-cfg } // container fr-dlci-cfgs } // case fr-dlci case wlan-user-priority { if-feature policy-types:match-wlan-user-priority-support; container wlan-user-priority-cfgs { description "Match Type Wlan User Priority"; list wlan-user-priority-cfg { must 'wlan-prio-min<=wlan-prio-max' { description "The configuration is a range, for individual values min and max should be equal. "; } key "wlan-prio-min wlan-prio-max"; description "Match Type Wlan User Priority configuration"; uses policy-attr:wlan-user-priority-cfg; } // list wlan-user-priority-cfg } // container wlan-user-priority-cfgs } // case wlan-user-priority case discard-class { if-feature policy-types:match-discard-class-support; container discard-class-cfgs { description "Match Type Discard Class"; list discard-class-cfg { key "discard-class"; description "Match Type Discard Class configuration"; uses policy-attr:discard-class-cfg; } // list discard-class-cfg } // container discard-class-cfgs } // case discard-class case class-map { if-feature policy-types:match-class-map-support; container class-map-cfgs { description "Match Type cls-map Name"; list class-map-cfg { key "class-map-name"; description "Match Type cls-map Name configuration"; uses policy-attr:class-map-cfg; } // list class-map-cfg } // container class-map-cfgs } // case class-map case metadata { if-feature policy-types:match-metadata-support; container metadata-cfg { description "Match Type Metadata"; uses policy-attr:metadata-cfg; } // container metadata-cfg } // case metadata case application { if-feature policy-types:match-application-support; container application-cfgs { description "Match Type Application"; list application-cfg { key "application-name application-cfg"; description "Match Type Application configuration"; uses policy-attr:application-cfg; } // list application-cfg } // container application-cfgs } // case application case security-group { if-feature policy-types:match-security-group-support; container security-group { description "Match Type security tag."; choice group-par { description "Match Type security tag based on tag or id."; container security-group-name-cfgs { description "Match Type security group based on name"; list security-group-name-cfg { key "src-dst security-name"; description "Match Type security group based on name configuration"; uses policy-attr:security-group-name-cfg; } // list security-group-name-cfg } // container security-group-name-cfgs container security-group-tag-cfgs { description "Match Type security group based on tag"; list security-group-tag-cfg { key "id"; description "Match Type security group based on tag configuration"; uses policy-attr:security-group-tag-cfg; } // list security-group-tag-cfg } // container security-group-tag-cfgs } // choice group-par } // container security-group } // case security-group case ip-rtp { if-feature policy-types:match-ip-rtp-support; container ip-rtp-cfgs { description "Match Type IP RTP."; list ip-rtp-cfg { must 'starting-port-number<=port-range' { description "The configuration is lower bound and range of UDP ports."; } key "starting-port-number port-range"; description "Match Type IP RTP configuration."; uses policy-attr:ip-rtp-cfg; } // list ip-rtp-cfg } // container ip-rtp-cfgs } // case ip-rtp case vpls { if-feature policy-types:match-vpls-support; container vpls-cfg { description "Match Type VPLS."; uses policy-attr:vpls-cfg; } // container vpls-cfg } // case vpls } } // module cisco-policy-filters
© 2023 YumaWorks, Inc. All rights reserved.