Cisco-IOS-XR-um-ethernet-services-access-list-cfg

This module contains a collection of IOS-XR YANG model derived from CLI. Copyright (c) 2019-2020 by Cisco Systems, Inc. All ri...

  • Version: 2020-12-03

    Cisco-IOS-XR-um-ethernet-services-access-list-cfg@2020-12-03


    
      module Cisco-IOS-XR-um-ethernet-services-access-list-cfg {
    
        yang-version 1;
    
        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";
        }
    
        revision "2019-06-10" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-04-01" {
          description "Initial version";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        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";
          }  // container any
    
          leaf host {
            type yang:mac-address;
            description "A single source host";
          }
        }  // grouping source-address
    
        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";
          }  // container any
    
          leaf host {
            type yang:mac-address;
            description
              "A single destination host";
          }
        }  // grouping destination-address
    
        grouping ethertype {
          leaf ethernet-type {
            type xr2:Hex-integer-16;
            description "An Ethertype Number";
          }
        }  // grouping ethertype
    
        grouping match-option-common {
          container capture {
            if-feature es_acl_capture_implemented;
            presence "Capture matched packet";
            description "Capture matched packet";
          }  // container capture
    
          container log {
            if-feature es_acl_log_option_supported;
            presence
              "Log matches against this entry";
            description
              "Log matches against this entry";
          }  // container log
        }  // grouping match-option-common
    
        grouping ace-common {
          container source {
            must
              "(mac-address and mac-address-mask) or any or host";
            uses source-address;
          }  // container source
    
          container destination {
            must
              "(mac-address and mac-address-mask) or any or host";
            uses destination-address;
          }  // container destination
    
          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 "Class of Service";
          }
    
          leaf inner-cos {
            type uint8 {
              range "0..7";
            }
            description
              "Class of Service of Inner Header";
          }
    
          container dei {
            presence
              "Discard Eligibility Indication";
            description
              "Discard Eligibility Indication";
          }  // container dei
    
          container inner-dei {
            presence
              "Discard Eligibility Indication for Inner Header";
            description
              "Discard Eligibility Indication for Inner Header";
          }  // container inner-dei
        }  // grouping ace-common
    
        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
                  "Set access-list logging threshold";
              }
            }  // container log-update
          }  // container access-list-options
    
          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 deny
    
                  container permit {
                    must
                      "source and destination";
                    presence "Grant type Permit";
                    uses ace-common;
    
                    uses match-option-common;
                  }  // container permit
    
                  leaf remark {
                    type string {
                      length "0..255";
                    }
                    description
                      "Comment for access list";
                  }
                }  // list sequence
              }  // container sequences
            }  // list access-list
          }  // container access-lists
        }  // container ethernet-services
      }  // module Cisco-IOS-XR-um-ethernet-services-access-list-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.