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.";

  oc-ext:openconfig-version "0.1.0";

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


  typedef failure-mode {
    type enumeration {
      enum SECURE {
        description
          "Packets and messages destined to the controllers are
          dropped. Flow entries continue to expire according to
          their timeouts.";
      }
      enum STANDALONE {
        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 {
        description
          "Transmission Control Protocol (TCP).";
      }
      enum TLS {
        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.";
  }

}
