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";
    
        grouping st-tunnel-rule {
          description "Wireless tunnel rule";
          leaf priority {
            type uint32 {
              range "1 .. 100";
            }
            description "Rule priority";
          }
    
          container cfg {
            description "Rule configuration";
            uses wireless-tunnel-types:st-tunnel-rule-base;
          }  // container cfg
        }  // grouping st-tunnel-rule
    
        grouping st-tunnel-profile {
          description "Wireless tunnel profile";
          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";
            uses wireless-tunnel-types:st-tunnel-profile-base;
          }  // 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";
              uses wireless-tunnel-cfg:st-tunnel-rule;
            }  // list rule
          }  // container rules
        }  // grouping st-tunnel-profile
    
        grouping eogre-global-cfg {
          description
            "Global configuration 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";
          }
        }  // grouping eogre-global-cfg
    
        grouping eogre-tunnel-aaa-proxy-key {
          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";
          }
        }  // grouping eogre-tunnel-aaa-proxy-key
    
        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";
              uses wireless-tunnel-cfg:st-tunnel-profile;
            }  // 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";
              uses tunnel-types:tunnel-domain-index;
    
              uses tunnel-types:tunnel-domain-common;
            }  // list tunnel-domain-cfg
          }  // container tunnel-domain-cfgs
    
          container eogre-global-cfg {
            description
              "Generic parameters for EoGRE";
            uses wireless-tunnel-cfg:eogre-global-cfg;
          }  // 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";
              uses wireless-tunnel-cfg:eogre-tunnel-aaa-proxy-key;
            }  // 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.