netconfcentral logo

ietf-supa-vpn

HTML

ietf-supa-vpn@2015-03-24



  module ietf-supa-vpn {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-supa-vpn";

    prefix vpn;

    import ietf-interfaces {
      prefix if;
    }

    organization "IETF";

    contact
      "Editor: Dacheng Zhang
    dacheng.zdc@alibaba-inc.com

    Ying Cheng
    chengying10@chinaunicom.cn
    ";

    description
      "This YANG module defines a generic VPN
    (Virtual Private Network service)
    configuration model common across all of the
    vendor implementations. ";

    revision "2015-03-24" {
      description "Initial revision.";
      reference
        " RFC 4664, RFC4364, RFC7277";

    }


    container vpn-instance {
      description
        "Generic VPN is a base class for VPN models.
    Other VPN models may be inherited from this base
    class with corresponding extensions.";
      list vpn-instance {
        key "name";
        description
          "Indicates the name of the VPN instance created.";
        leaf name {
          type string;
          description " instance name";
        }

        leaf connection-type {
          type enumeration {
            enum "L2VPN" {
              value 0;
              description "L2VPN";
            }
            enum "L3VPN" {
              value 1;
              description "L3VPN";
            }
          }
          description
            "Indicates the type of VPN, may be L2VPN or L3VPN";
        }

        leaf service-type {
          type enumeration {
            enum "full-mesh" {
              value 0;
              description "full-mesh";
            }
            enum "hub-spoke" {
              value 1;
              description "hub-spoke";
            }
          }
          default "full-mesh";
          description "Topology type";
        }

        container access-management {
          description
            "This part gives a typical example for access
          management";
          leaf user-name {
            type string;
            mandatory true;
            description
              "User name for this access interface";
          }

          leaf user-password {
            type string;
            mandatory true;
            description
              "User password for the access interface. User
            name and password are listed here because VPN
            need the authentication, one typical way is to
            use user name and password, so that in CE dynamic
            migration case, CEs are able to access with
            authentication regardless location.";
          }
        }  // container access-management

        leaf instance-oper-state {
          type enumeration {
            enum "enabled" {
              value 1;
              description
                "VPN Service is enabled";
            }
            enum "disabled" {
              value 2;
              description
                "VPN Service is disabled";
            }
          }
          description
            "This part indicates the operational state
          of VPN, enabled or disabled.
          User may use this value to inquire the status
          of this instance";
        }

        leaf instance-admin-state {
          type enumeration {
            enum "Enabled" {
              value 1;
              description
                "VPN Service Administratively Enabled";
            }
            enum "Disabled" {
              value 2;
              description
                "VPN Service Administratively Disabled";
            }
          }
          description
            "This part indicates the administrative state
          of VPN, e.g., enabled, disabled.
          User may use this value to manage the instance";
        }

        leaf life-cycle-state {
          type enumeration {
            enum "planned" {
              value 1;
              description
                "VPN Service Planned";
            }
            enum "installed" {
              value 2;
              description
                "VPN Service Installed";
            }
            enum "removed" {
              value 3;
              description
                "VPN Service Removed";
            }
          }
          description
            "This part indicates the life cycle state
          of VPN, e.g., installed, removed, planned.";
        }

        leaf instance-availability-status {
          type enumeration {
            enum "degraded" {
              value 1;
              description
                "VPN Service Degraded";
            }
            enum "failed" {
              value 2;
              description
                "VPN Service Failed";
            }
          }
          description
            "This part indicates the availability status
          of VPN, e.g., degraded, failed.";
        }

        leaf instance-cfg-revision {
          type string;
          description
            "Indicates current service configuration revision";
        }

        leaf instance-sla-policy {
          type string;
          description
            "Indicates SLA decision policy name";
        }

        list access-interface {
          key "name";
          description
            "Access interface name.";
          leaf name {
            type if:interface-ref;
            description
              "Access interface name.";
          }

          leaf role {
            when
              "../../service-type = 'full-mesh'" {
              description
                "The role is always center-if in a
               hub-spoke topology, in a full-mesh
               topology, the role needs to be
               specified as center-if or edge-if.";
            }
            type enumeration {
              enum "edge-if" {
                value 0;
                description "Edge interface";
              }
              enum "center-if" {
                value 1;
                description
                  "Center interface";
              }
            }
            mandatory true;
            description
              "An edge interface (edge-if) indicates... FIXME";
          }
        }  // list access-interface
      }  // list vpn-instance
    }  // container vpn-instance
  }  // module ietf-supa-vpn

Summary

  
  
Organization IETF
  
Module ietf-supa-vpn
Version 2015-03-24
File ietf-supa-vpn@2015-03-24.yang
  
Prefix vpn
Namespace urn:ietf:params:xml:ns:yang:ietf-supa-vpn
  
Cooked /cookedmodules/ietf-supa-vpn/2015-03-24
YANG /src/ietf-supa-vpn@2015-03-24.yang
XSD /xsd/ietf-supa-vpn@2015-03-24.xsd
  
Abstract This YANG module defines a generic VPN (Virtual Private Network service) configuration model common across all of the vendor imp...
  
Contact
Editor: Dacheng Zhang
dacheng.zdc@alibaba-inc.com

Ying Cheng
chengying10@chinaunicom.cn

Description

 
This YANG module defines a generic VPN
(Virtual Private Network service)
configuration model common across all of the
vendor implementations. 

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
vpn-instance container Generic VPN is a base class for VPN models. Other VPN models may be inherited from this base class with corresponding extensions.
   vpn-instance list Indicates the name of the VPN instance created.
      access-interface list Access interface name.
         name leaf Access interface name.
         role leaf An edge interface (edge-if) indicates... FIXME
      access-management container This part gives a typical example for access management
         user-name leaf User name for this access interface
         user-password leaf User password for the access interface. User name and password are listed here because VPN need the authentication, one typical way is to use user name and password, so that in CE dynamic migration case, CEs are able to access with authentication regardle...
      connection-type leaf Indicates the type of VPN, may be L2VPN or L3VPN
      instance-admin-state leaf This part indicates the administrative state of VPN, e.g., enabled, disabled. User may use this value to manage the instance
      instance-availability-status leaf This part indicates the availability status of VPN, e.g., degraded, failed.
      instance-cfg-revision leaf Indicates current service configuration revision
      instance-oper-state leaf This part indicates the operational state of VPN, enabled or disabled. User may use this value to inquire the status of this instance
      instance-sla-policy leaf Indicates SLA decision policy name
      life-cycle-state leaf This part indicates the life cycle state of VPN, e.g., installed, removed, planned.
      name leaf instance name
      service-type leaf Topology type