netconfcentral logo

openconfig-openflow-types@2017-08-24



  module openconfig-openflow-types {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/openflow/types";

    prefix openflow-types;

    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

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

    description
      "This module defines types related to the Openflow configuration
    and operational state model.";

    revision "2017-08-24" {
      description
        "Minor formatting fixes.Initial revision";
      reference
        "0.1.1";

    }

    revision "2017-06-01" {
      description "Initial revision";
      reference
        "0.1.0";

    }

    oc-ext:openconfig-version "0.1.1";

    typedef failure-mode {
      type enumeration {
        enum "SECURE" {
          value 0;
          description
            "Packets and messages destined to the controllers are
          dropped. Flow entries continue to expire according to
          their timeouts.";
        }
        enum "STANDALONE" {
          value 1;
          description
            "Processes all packets using the OFPP_NORMAL reserved
          port. The switch acts as a legacy Ethernet switch or
          router.";
        }
      }
      description
        "Type to define Openflow failure mode.";
    }

    typedef transport {
      type enumeration {
        enum "TCP" {
          value 0;
          description
            "Transmission Control Protocol (TCP).";
        }
        enum "TLS" {
          value 1;
          description
            "Transport Layer Security (TLS).";
        }
      }
      description
        "Type to define Openflow transport protocol.";
    }

    typedef auxiliary-id {
      type uint8 {
        range "0..15";
      }
      description
        "A Controller may have multiple auxiliary connections as
      specified by the Openflow protocol. The main Controller
      connection should always have the auxiliary-id set to zero.
      All other connections must have an auxiliary-id different
      from 0.";
    }

    typedef datapath-id {
      type string {
        pattern
          '^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){7}$';
      }
      description
        "The datapath-id type represents an OpenFlow
        datapath identifier. The lower 48-bits are for
        a MAC address, while the upper 16-bits are
        implementer-defined.";
    }
  }  // module openconfig-openflow-types