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