Cisco-IOS-XR-tunnel-gre-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR tunnel-gre package configuration. This YANG module augme...

  • Version: 2020-02-02

    Cisco-IOS-XR-tunnel-gre-cfg@2020-02-02


    
      module Cisco-IOS-XR-tunnel-gre-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-gre-cfg";
    
        prefix tunnel-gre-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-ifmgr-cfg {
          prefix a1;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR tunnel-gre package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-ifmgr-cfg
         module with configuration data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-02-02" {
          description
            "Changed TTL from leaf to container";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2016-05-25" {
          description "Initial version";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Tunnel-mode-direction {
          type enumeration {
            enum "decap" {
              value 1;
              description "Decap-only tunnel";
            }
            enum "encap" {
              value 2;
              description "Encap-only tunnel";
            }
          }
          description "Tunnel mode direction";
        }
    
        augment /a1:interface-configurations/a1:interface-configuration {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-ifmgr-cfg'";
          container tunnel-ip {
            description
              "IP over GRE encapsulation";
            container ttl {
              description
                "Configure the time-to-live for packets sent
               over this tunnel";
              leaf value {
                type uint32 {
                  range "1..255";
                }
                description
                  "Enter the TTL value";
              }
    
              leaf disable {
                type empty;
                description
                  "Always set to false";
              }
            }  // container ttl
    
            container mode {
              description
                "Tunnel encapsulation method";
              leaf value {
                type uint32;
                description
                  "GRE IPV4 - 1, GRE IPV6 - 2, MGRE IPV4 - 3,
                 MGRE IPV6 -4. IPV4 - 5, IPV6 - 6";
              }
    
              leaf mode-direction {
                type Tunnel-mode-direction;
                description
                  "Tunnel Mode Direction";
              }
            }  // container mode
    
            container source {
              description
                "Configure source of tunnel";
              leaf type {
                type uint32;
                description
                  "1 for Interface Name, 2 for IPv4 Address, 3
                 for IPv6 Address";
              }
    
              leaf address {
                type inet:ipv4-address-no-zone;
                description
                  "IPV4 address of the tunnel source";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description
                  "Name of tunnel source interface";
              }
    
              leaf ipv6-address {
                type string;
                description
                  "IPV6 address of the tunnel source";
              }
            }  // container source
    
            container key {
              description
                "Configure the key value for packets sent over
               this tunnel";
              leaf entropy {
                type empty;
                description "Always set to true";
              }
    
              leaf value {
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "Enter the KEY value";
              }
            }  // container key
    
            container keepalive {
              description
                "Enable keepalive packets on this tunnel";
              leaf keep-alive-period {
                type uint32 {
                  range "1..32767";
                }
                description
                  "Keepalive period in seconds (default 10
                 seconds)";
              }
    
              leaf keep-alive-retries {
                type uint32 {
                  range "1..255";
                }
                description
                  "Number of retries (default 3)";
              }
            }  // container keepalive
    
            container bfd {
              description
                "Configure BFD for tunnel";
              container keepalive-period {
                description
                  "Configure keepalive period";
                leaf value {
                  type uint32 {
                    range "1..32767";
                  }
                  description
                    "Keepalive period in seconds";
                }
    
                leaf disable {
                  type empty;
                  description
                    "Always set to false";
                }
              }  // container keepalive-period
    
              container destination {
                description
                  "Configure BFD destination for tunnel";
                leaf type {
                  type uint32;
                  description
                    "1 for IPv4 Address, 2 for IPv6 Address";
                }
    
                leaf address {
                  type inet:ipv4-address-no-zone;
                  description
                    "IPV4 address of the BFD destination";
                }
    
                leaf ipv6-address {
                  type string;
                  description
                    "IPV6 address of the BFD destination";
                }
              }  // container destination
    
              leaf minimum-interval {
                type uint32 {
                  range "150..30000";
                }
                description
                  "Configure minimum interval for BFD";
              }
    
              leaf retry {
                type uint32 {
                  range "1..255";
                }
                description
                  "Configure Number of retries for BFD Keepalive";
              }
    
              leaf multiplier {
                type uint32 {
                  range "3..50";
                }
                description
                  "Configure BFD multiplier";
              }
            }  // container bfd
    
            container destination {
              description
                "Configure destination of tunnel";
              leaf type {
                type uint32;
                description
                  "1 for IPv4 Address, 2 for IPv6 Address";
              }
    
              leaf address {
                type inet:ipv4-address-no-zone;
                description
                  "IPV4 address of the tunnel destination";
              }
    
              leaf ipv6-address {
                type string;
                description
                  "IPV6 address of the tunnel destination";
              }
    
              leaf address-mask {
                type inet:ipv4-address-no-zone;
                description
                  "IPv4 prefix length of the tunnel destination";
              }
    
              leaf prefix-list-name {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                description
                  "Prefix-list to validate destination's
                 resolving prefix";
              }
            }  // container destination
    
            leaf allow-key {
              type empty;
              description
                "Enable flag bit to allow packets with GRE key";
            }
    
            leaf tunnel-vrf {
              type xr:Cisco-ios-xr-string {
                length "1..32";
              }
              description
                "Tunnel vrf label name";
            }
    
            leaf tos {
              type uint32 {
                range "0..255";
              }
              description
                "Configure Type of Service bits for this tunnel";
            }
    
            leaf disable {
              type uint32;
              description
                "Disable DF bit (i.e. allow fragmentation)";
            }
          }  // container tunnel-ip
        }
      }  // module Cisco-IOS-XR-tunnel-gre-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.