Cisco-IOS-XE-wireless-tunnel-cfg

This module contains a collection of YANG definitions for wireless tunnel configurational data. Copyright (c) 2018-2020 by Cisco...

  • Version: 2020-11-01

    Cisco-IOS-XE-wireless-tunnel-cfg@2020-11-01


    
      module Cisco-IOS-XE-wireless-tunnel-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-tunnel-cfg";
    
        prefix wireless-tunnel-cfg;
    
        import Cisco-IOS-XE-tunnel-types {
          prefix tunnel-types;
        }
        import Cisco-IOS-XE-wireless-enum-types {
          prefix wireless-enum-types;
        }
        import Cisco-IOS-XE-wireless-tunnel-types {
          prefix wireless-tunnel-types;
        }
        import cisco-semver {
          prefix cisco-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
          "This module contains a collection of YANG definitions
         for wireless tunnel configurational data.
         Copyright (c) 2018-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-11-01" {
          description
            "- Add ASCII 32-126 restriction for tunnel profile name";
          reference
            "3.0.0";
    
        }
    
        revision "2020-07-01" {
          description
            "Add EoGRE AAA Proxy ports";
          reference
            "2.1.0";
    
        }
    
        revision "2019-05-23" {
          description
            "- Added constraint for primary and secondary gateway in a domain
           - Added semantic version";
          reference
            "2.0.0";
    
        }
    
        revision "2019-01-23" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "3.0.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        container wireless-tunnel-cfg {
          description
            "Configuration of wireless tunnels";
          container tunnel-profiles {
            description
              "Configuration of wireless tunnel profiles";
            list tunnel-profile {
              must
                '(count(../tunnel-profile) <= 4096)' {
                error-message
                  "There cannot exist more than 4096 tunnel profiles";
                error-app-tag "must-violation";
              }
              key "name";
              description
                "List of wireless tunnel profile configurations";
              leaf name {
                type string {
                  length "1..128" {
                    error-message
                      "Tunnel profile name has to be 1 to 128 characters.";
                    error-app-tag
                      "must-violation";
                  }
                  pattern '[!-~]([ -~]*[!-~])?';
                }
                description
                  "Wireless tunnel profile's name";
              }
    
              container cfg {
                description
                  "Wireless tunnel profile's configuration";
                leaf status {
                  type boolean;
                  default "false";
                  description
                    "Whether tunnel profile is enabled";
                }
    
                leaf aaa-override {
                  type boolean;
                  default "false";
                  description
                    "Whether AAA override is enabled";
                }
    
                leaf aaa-proxy {
                  type boolean;
                  default "false";
                  description
                    "Whether AAA proxy is enabled";
                }
    
                leaf aaa-accounting-proxy {
                  type boolean;
                  description
                    "Whether AAA accounting proxy is enabled";
                }
    
                leaf opt82-enable {
                  type boolean;
                  description
                    "Whether DHCP-opt82 is enabled";
                }
    
                leaf opt82-ascii {
                  type boolean;
                  description
                    "Whether DHCP Option 82 format is ASCII. Binary if false";
                }
    
                leaf opt82-delimiter {
                  type string {
                    length "0 .. 1";
                  }
                  description
                    "DHCP-opt82 Delimiter character";
                }
    
                leaf central-fwd {
                  type boolean;
                  description
                    "Whether Central forwarding is enabled";
                }
    
                leaf mac-format {
                  type wireless-tunnel-types:tunnel-dhcp-opt82-mac-format;
                  default "raw";
                  description
                    "Option82 mac format";
                }
              }  // container cfg
    
              leaf opt82-circuit-id {
                type string;
                description
                  "DHCP option 82 circuit-id";
              }
    
              leaf opt82-remote-id {
                type string;
                description
                  "DHCP option 82 remote-id";
              }
    
              container rules {
                description
                  "List of rules for the profile";
                list rule {
                  must "(count(../rule) <= 16)" {
                    error-message
                      "There cannot exist more than 16 rules for a tunnel profile";
                    error-app-tag
                      "must-violation";
                  }
                  key "priority";
                  description "Matching rule";
                  leaf priority {
                    type uint32 {
                      range "1 .. 100";
                    }
                    description "Rule priority";
                  }
    
                  container cfg {
                    description
                      "Rule configuration";
                    leaf realm {
                      type string {
                        length "0..128";
                        pattern
                          '[!-~]([ -~]*[!-~])?';
                      }
                      description
                        "The rule realm to match with";
                    }
    
                    leaf vlan-id {
                      type uint32 {
                        range "1 .. 4094";
                      }
                      description
                        "The rule VLAN";
                    }
    
                    leaf domain-name {
                      type string {
                        length "0..128";
                        pattern
                          '[!-~]([ -~]*[!-~])?';
                      }
                      description
                        "The rule's destination domain name";
                    }
                  }  // container cfg
                }  // list rule
              }  // container rules
            }  // list tunnel-profile
          }  // container tunnel-profiles
    
          container tunnel-domain-cfgs {
            description
              "EoGRE tunnel domain configuration";
            list tunnel-domain-cfg {
              must
                "((../tunnel-domain-cfg/primary-tunnel-name !=
                    ../tunnel-domain-cfg/secondary-tunnel-name) or
                   (../tunnel-domain-cfg/primary-tunnel-name = '') or
                   (../tunnel-domain-cfg/secondary-tunnel-name = '')
                   )" {
                error-message
                  "Cannot set same tunnel gateway for both primary and secondary";
                error-app-tag "must-violation";
              }
              must
                '(count(../tunnel-domain-cfg) <= 10)' {
                error-message
                  "There cannot exist more than 10 tunnel domains";
                error-app-tag "must-violation";
              }
              key "name type";
              description
                "EoGRE tunnel domain configuration";
              leaf name {
                type string;
                description "Domain Name";
              }
    
              leaf type {
                type tunnel-types:tunnel-domain-mode;
                description "Tunnel Type";
              }
    
              leaf primary-tunnel-name {
                type string;
                description "Primary tunnel";
              }
    
              leaf secondary-tunnel-name {
                type string;
                description "Secondary tunnel";
              }
    
              leaf redundancy-model {
                type tunnel-types:tunnel-redundancy-model;
                description "Redundancy model";
              }
    
              leaf enable {
                type boolean;
                description
                  "Whether it is enabled";
              }
            }  // list tunnel-domain-cfg
          }  // container tunnel-domain-cfgs
    
          container eogre-global-cfg {
            description
              "Generic parameters for EoGRE";
            leaf heartbeat-interval {
              type uint32 {
                range "60 .. 600";
              }
              default "60";
              description
                "Heartbeat interval for keepalive to gateway";
            }
    
            leaf heartbeat-max-skip-count {
              type uint32 {
                range "3 .. 10";
              }
              default "3";
              description
                "Heartbeat max skip count for keepalive to gateway";
            }
    
            leaf interface-name {
              type string;
              description "EoGRE interface name";
            }
          }  // container eogre-global-cfg
    
          container eogre-tunnel-aaa-proxy-keys {
            description
              "List of AAA tunnel proxy parameters for EoGRE";
            list eogre-tunnel-aaa-proxy-key {
              must
                "(aaa-key-type = 'clear' or aaa-key-type = 'aes')" {
                error-message
                  "AAA key type is required to be 'clear' or 'aes'";
                error-app-tag "must-violation";
              }
              key "interface-name";
              description
                "AAA tunnel proxy parameters for EoGRE";
              leaf interface-name {
                type string {
                  length "1..128";
                }
                description
                  "AAA proxy interface name";
              }
    
              leaf aaa-key {
                type string {
                  length "1..128";
                }
                mandatory true;
                description "AAA key";
              }
    
              leaf aaa-key-type {
                type wireless-enum-types:crypt-type;
                default "clear";
                description "AAA key type";
              }
    
              leaf auth-port {
                type uint16;
                default "1645";
                description
                  "AAA Authentication/Authorization port";
              }
    
              leaf acct-port {
                type uint16;
                default "1646";
                description
                  "AAA Accounting port";
              }
            }  // list eogre-tunnel-aaa-proxy-key
          }  // container eogre-tunnel-aaa-proxy-keys
        }  // container wireless-tunnel-cfg
      }  // module Cisco-IOS-XE-wireless-tunnel-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.