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";
        }
    
        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";
                    container source {
                      must
                        "(mac-address and mac-address-mask) or any or host";
                      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";
                      }
                    }  // container source
    
                    container destination {
                      must
                        "(mac-address and mac-address-mask) or any or host";
                      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";
                      }
                    }  // 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
    
                    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
                  }  // container deny
    
                  container permit {
                    must
                      "source and destination";
                    presence "Grant type Permit";
                    container source {
                      must
                        "(mac-address and mac-address-mask) or any or host";
                      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";
                      }
                    }  // container source
    
                    container destination {
                      must
                        "(mac-address and mac-address-mask) or any or host";
                      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";
                      }
                    }  // 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
    
                    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
                  }  // 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.