netconfcentral logo

openconfig-network-instance-types

HTML

openconfig-network-instance-types@2017-08-24



  module openconfig-network-instance-types {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/network-instance-types";

    prefix oc-ni-types;

    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "Types associated with a network instance";

    revision "2017-08-24" {
      description "Minor formatting fixes";
      reference
        "0.8.1";

    }

    revision "2017-02-28" {
      description
        "Add OSPFv2 to network instance";
      reference
        "0.8.0";

    }

    revision "2017-01-26" {
      description
        "Add policy forwarding to network instance";
      reference
        "0.7.0";

    }

    revision "2017-01-13" {
      description
        "Add AFT to the network instance";
      reference
        "0.6.0";

    }

    revision "2016-12-15" {
      description
        "Add segment routing to network instance";
      reference
        "0.5.0";

    }

    revision "2016-11-10" {
      description
        "Update model to include IS-IS.";
      reference
        "0.4.1";

    }

    revision "2016-10-12" {
      description "Update table connections";
      reference
        "0.4.0";

    }

    revision "2016-09-28" {
      description
        "Change L2 instance to submodule; add MAC table";
      reference
        "0.3.0";

    }

    revision "2016-08-11" {
      description
        "Resolve repeated container names in routing protocols";
      reference
        "0.2.3";

    }

    revision "2016-07-08" {
      description
        "Updated with refactored routing protocol models";
      reference
        "0.2.1";

    }

    revision "2016-03-29" {
      description "Initial revision";
      reference
        "0.2.0";

    }

    revision "2015-10-18" {
      description "Initial revision";
      reference
        "0.1.0";

    }

    oc-ext:openconfig-version "0.8.1";

    identity NETWORK_INSTANCE_TYPE {
      base 
      description
        "A base identity which can be extended to indicate different
     types of network instance supported by a device.";
    }

    identity DEFAULT_INSTANCE {
      base NETWORK_INSTANCE_TYPE;
      description
        "A special routing instance which acts as the 'default' or
      'global' routing instance for a network device.";
    }

    identity L3VRF {
      base NETWORK_INSTANCE_TYPE;
      description
        "A private Layer 3 only routing instance which is formed of
      one or more RIBs";
    }

    identity L2VSI {
      base NETWORK_INSTANCE_TYPE;
      description
        "A private Layer 2 only switch instance which is formed of
      one or more L2 forwarding tables";
    }

    identity L2P2P {
      base NETWORK_INSTANCE_TYPE;
      description
        "A private Layer 2 only forwarding instance which acts as
      a point to point connection between two endpoints";
    }

    identity L2L3 {
      base NETWORK_INSTANCE_TYPE;
      description
        "A private Layer 2 and Layer 2 forwarding instance";
    }

    identity ENDPOINT_TYPE {
      base 
      description
        "Specification of the type of endpoint that is being associated
      with a network instance";
    }

    identity LOCAL {
      base ENDPOINT_TYPE;
      description
        "A local interface which is being associated with the endpoint";
    }

    identity REMOTE {
      base ENDPOINT_TYPE;
      description
        "A remote interface which is being associated with the
      endpoint";
    }

    identity LABEL_ALLOCATION_MODE {
      base 
      description
        "Base identity to be used to express types of label allocation
      strategies to be used within a network instance";
    }

    identity PER_PREFIX {
      base LABEL_ALLOCATION_MODE;
      description
        "A label is to be allocated per prefix entry in the RIB for the
      network instance";
    }

    identity PER_NEXTHOP {
      base LABEL_ALLOCATION_MODE;
      description
        "A label is to be allocated per nexthop entry in the RIB for
      the network instance";
    }

    identity INSTANCE_LABEL {
      base LABEL_ALLOCATION_MODE;
      description
        "A single label is to be used for the instance";
    }

    identity ENCAPSULATION {
      base 
      description
        "On the wire encapsulations that can be used when
      differentiating network instances";
    }

    identity MPLS {
      base ENCAPSULATION;
      description
        "Use MPLS labels to distinguish network instances on the wire";
    }

    identity VXLAN {
      base ENCAPSULATION;
      description
        "Use VXLAN (RFC7348) VNIs to distinguish network instances on
      the wire";
    }

    identity SIGNALLING_PROTOCOL {
      base 
      description
        "The signalling protocol that should be used to diseminate
      entries within a forwarding instance";
    }

    identity LDP {
      base SIGNALLING_PROTOCOL;
      description
        "Use LDP-based setup for signalling. Where the instance is
      a point-to-point service this refers to RFC4447 ('Martini')
      setup. Where the service is an L2VSI, or L2L3 instance it
      refers to RFC4762 LDP-signalled VPLS instances";
    }

    identity BGP_VPLS {
      base SIGNALLING_PROTOCOL;
      description
        "Use BGP-based signalling and autodiscovery for VPLS instances
      as per RFC4761";
    }

    identity BGP_EVPN {
      base SIGNALLING_PROTOCOL;
      description
        "Use BGP-based Ethernet VPN (RFC7432) based signalling for
      the network instance";
    }

    typedef route-distinguisher {
      type union {
        type string {
          pattern
            '^(65[0-5][0-3][0-5]|[1-5][1-5][0-9][0-9][0-9]|'
              + '[1-9]?[1-9]?[0-9][0-9]|[1-9]):'
              + '(4[0-2][0-9][0-4][0-9][0-6][0-7][0-2][0-9][0-5]|'
              + '[0-3][0-9]{9}|[1-9][0-9]{1,8}|[1-9])$';
        }
        type string {
          pattern
            '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
              + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):'
              + '(65[0-5][0-3][0-5]|[1-5][1-5][0-9][0-9][0-9]|'
              + '[1-9]?[1-9]?[0-9][0-9]|[1-9])$';
        }
        type string {
          pattern
            '^(4[0-2][0-9][0-4][0-9][0-6][0-7][0-2][0-9][0-5]|'
              + '[0-3][0-9]{9}|[1-9][0-9]{1,8}|[1-9]):'
              + '(65[0-5][0-3][0-5]|[1-5]{2}[0-9]{3}|'
              + '[1-9]{0,2}[0-9][0-9]|[1-9])$';
        }
      }
      description
        "A route distinguisher value";
      reference
        "RFC4364";

    }
  }  // module openconfig-network-instance-types

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-network-instance-types
Version 2017-08-24
File openconfig-network-instance-types.yang
  
Prefix oc-ni-types
Namespace http://openconfig.net/yang/network-instance-types
  
Cooked /cookedmodules/openconfig-network-instance-types/2017-08-24
YANG /src/openconfig-network-instance-types@2017-08-24.yang
XSD /xsd/openconfig-network-instance-types@2017-08-24.xsd
  
Abstract Types associated with a network instance
  
Contact
OpenConfig working group
www.openconfig.net

Description

 
Types associated with a network instance

Typedefs

Typedef Base type Abstract
route-distinguisher union A route distinguisher value