All Superinterfaces:
org.opendaylight.yangtools.binding.BindingContract<org.opendaylight.yangtools.binding.DataContainer>, org.opendaylight.yangtools.binding.DataContainer, org.opendaylight.yangtools.binding.DataRoot<OpenflowProtocolData>

@Generated("mdsal-binding-generator") public interface OpenflowProtocolData extends org.opendaylight.yangtools.binding.DataRoot<OpenflowProtocolData>

This class represents the following YANG schema fragment defined in module openflow-protocol

 module openflow-protocol {
   namespace urn:opendaylight:openflow:protocol;
   prefix ofproto;
   import ietf-yang-types {
     prefix yang;
   }
   import openflow-types {
     prefix oft;
   }
   import openflow-extensible-match {
     prefix oxm;
   }
   import openflow-instruction {
     prefix ofinstruction;
   }
   import openflow-action {
     prefix ofaction;
   }
   revision 2013-07-31 {
   }
   grouping port-grouping {
     leaf port-no {
       type uint32;
     }
     leaf hw-addr {
       type yang:mac-address;
     }
     leaf name {
       type string;
     }
     leaf config {
       type oft:port-config;
     }
     leaf state {
       type oft:port-state;
     }
     leaf current-features {
       type oft:port-features;
     }
     leaf advertised-features {
       type oft:port-features;
     }
     leaf supported-features {
       type oft:port-features;
     }
     leaf peer-features {
       type oft:port-features;
     }
     leaf curr-speed {
       type uint32;
       units kbps;
     }
     leaf max-speed {
       type uint32;
       units kbps;
     }
     leaf config-v10 {
       type oft:port-config-v10;
     }
     leaf state-v10 {
       type oft:port-state-v10;
     }
     leaf current-features-v10 {
       type oft:port-features-v10;
     }
     leaf advertised-features-v10 {
       type oft:port-features-v10;
     }
     leaf supported-features-v10 {
       type oft:port-features-v10;
     }
     leaf peer-features-v10 {
       type oft:port-features-v10;
     }
   }
   grouping buckets-grouping {
     list buckets-list {
       uses bucket-grouping;
     }
   }
   grouping bucket-grouping {
     leaf weight {
       type uint16;
     }
     leaf watch-port {
       type oft:port-number;
     }
     leaf watch-group {
       type uint32;
     }
     uses ofaction:actions-grouping;
   }
   container table-features-properties-container {
     uses table-features-properties-grouping;
   }
   grouping table-features-properties-grouping {
     list table-feature-properties {
       config false;
       leaf type {
         type oft:table-features-prop-type;
       }
     }
   }
   grouping ofHeader {
     leaf version {
       type uint8;
     }
     leaf xid {
       type uint32;
     }
   }
   grouping ofHelloElementHeader {
     leaf type {
       type oft:hello-element-type;
     }
   }
   grouping hello {
     uses ofHeader;
     list elements {
       uses ofHelloElementHeader;
       leaf-list version-bitmap {
         type boolean;
         ordered-by user;
       }
     }
   }
   grouping error {
     uses ofHeader;
     leaf type {
       type uint16;
     }
     leaf code {
       type uint16;
     }
     leaf type-string {
       type string;
     }
     leaf code-string {
       type string;
     }
     leaf data {
       type binary;
     }
   }
   grouping echo-request {
     uses ofHeader;
     leaf data {
       type binary;
     }
   }
   grouping echo-reply {
     uses ofHeader;
     leaf data {
       type binary;
     }
   }
   grouping experimenter-core {
     leaf experimenter {
       type oft:experimenter-id;
     }
     leaf exp_type {
       type uint32;
     }
     choice experimenter-data-of-choice;
   }
   grouping experimenter-of-message {
     uses ofHeader;
     uses experimenter-core;
   }
   grouping features-request {
     uses ofHeader;
   }
   grouping features-reply {
     uses ofHeader;
     leaf datapathId {
       type uint64;
     }
     leaf buffers {
       type uint32;
     }
     leaf tables {
       type uint8;
     }
     leaf auxiliaryId {
       type uint8;
     }
     leaf capabilities {
       type oft:capabilities;
     }
     leaf reserved {
       type uint32;
     }
     leaf capabilities-v10 {
       type oft:capabilities-v10;
     }
     leaf actions-v10 {
       type oft:action-type-v10;
     }
     list phy-port {
       uses port-grouping;
     }
   }
   grouping get-config-request {
     uses ofHeader;
   }
   grouping get-config-reply {
     uses ofHeader;
     leaf flags {
       type oft:switch-config-flag;
     }
     leaf miss-send-len {
       type uint16;
     }
   }
   grouping set-config {
     uses ofHeader;
     leaf flags {
       type oft:switch-config-flag;
     }
     leaf miss-send-len {
       type uint16;
     }
   }
   grouping packet-in {
     uses ofHeader;
     leaf buffer-id {
       type uint32;
     }
     leaf total-len {
       type uint16;
     }
     leaf reason {
       type oft:packet-in-reason;
     }
     leaf table-id {
       type oft:table-id;
     }
     leaf cookie {
       type uint64;
     }
     uses oxm:match-grouping;
     leaf data {
       type binary;
     }
     leaf in-port {
       type uint16;
     }
   }
   grouping flow-removed {
     uses ofHeader;
     leaf cookie {
       type uint64;
     }
     leaf priority {
       type uint16;
     }
     leaf reason {
       type oft:flow-removed-reason;
     }
     leaf table-id {
       type oft:table-id;
     }
     leaf duration-sec {
       type uint32;
     }
     leaf duration-nsec {
       type uint32;
     }
     leaf idle-timeout {
       type uint16;
     }
     leaf hard-timeout {
       type uint16;
     }
     leaf packet-count {
       type uint64;
     }
     leaf byte-count {
       type uint64;
     }
     uses oxm:match-grouping;
     uses oxm:match-v10-grouping;
   }
   grouping port-status {
     uses ofHeader;
     uses port-grouping;
     leaf reason {
       type oft:port-reason;
     }
   }
   grouping packet-out {
     uses ofHeader;
     uses ofaction:actions-grouping;
     leaf data {
       type binary;
     }
     leaf buffer-id {
       type uint32;
     }
     leaf in-port {
       type oft:port-number;
     }
   }
   grouping flow-mod {
     uses ofHeader;
     leaf cookie {
       type uint64;
     }
     leaf cookie-mask {
       type uint64;
     }
     leaf table-id {
       type oft:table-id;
     }
     leaf command {
       type oft:flow-mod-command;
     }
     leaf idle-timeout {
       type uint16;
     }
     leaf hard-timeout {
       type uint16;
     }
     leaf priority {
       type uint16;
     }
     leaf buffer-id {
       type uint32;
     }
     leaf out-port {
       type oft:port-number;
     }
     leaf out-group {
       type uint32;
     }
     leaf flags {
       type oft:flow-mod-flags;
     }
     uses oxm:match-grouping;
     uses ofinstruction:instructions-grouping;
     leaf flags-v10 {
       type oft:flow-mod-flags-v10;
     }
     uses oxm:match-v10-grouping;
     uses ofaction:actions-grouping;
   }
   grouping group-mod {
     uses ofHeader;
     leaf command {
       type oft:group-mod-command;
     }
     leaf type {
       type oft:group-type;
     }
     leaf group-id {
       type oft:group-id;
     }
     uses buckets-grouping;
   }
   grouping port-mod {
     uses ofHeader;
     leaf port-no {
       type oft:port-number;
     }
     leaf hw-address {
       type yang:mac-address;
     }
     leaf config {
       type oft:port-config;
     }
     leaf mask {
       type oft:port-config;
     }
     leaf advertise {
       type oft:port-features;
     }
     leaf config-v10 {
       type oft:port-config-v10;
     }
     leaf mask-v10 {
       type oft:port-config-v10;
     }
     leaf advertise-v10 {
       type oft:port-features-v10;
     }
   }
   grouping table-mod {
     uses ofHeader;
     leaf table-id {
       type oft:table-id;
     }
     leaf config {
       type oft:table-config;
     }
   }
   grouping multipart-request {
     uses ofHeader;
     leaf type {
       type oft:multipart-type;
     }
     leaf flags {
       type oft:multipart-request-flags;
     }
     choice multipart-request-body {
       case multipart-request-desc-case {
         container multipart-request-desc {
           leaf empty {
             type empty;
           }
         }
       }
       case multipart-request-flow-case {
         container multipart-request-flow {
           leaf table-id {
             type uint8;
           }
           leaf out-port {
             type uint32;
           }
           leaf out-group {
             type uint32;
           }
           leaf cookie {
             type uint64;
           }
           leaf cookie-mask {
             type uint64;
           }
           uses oxm:match-grouping;
           uses oxm:match-v10-grouping;
         }
       }
       case multipart-request-aggregate-case {
         container multipart-request-aggregate {
           leaf table-id {
             type uint8;
           }
           leaf out-port {
             type uint32;
           }
           leaf out-group {
             type uint32;
           }
           leaf cookie {
             type uint64;
           }
           leaf cookie-mask {
             type uint64;
           }
           uses oxm:match-grouping;
           uses oxm:match-v10-grouping;
         }
       }
       case multipart-request-table-case {
         container multipart-request-table {
           leaf empty {
             type empty;
           }
         }
       }
       case multipart-request-port-stats-case {
         container multipart-request-port-stats {
           leaf port-no {
             type uint32;
           }
         }
       }
       case multipart-request-queue-case {
         container multipart-request-queue {
           leaf port-no {
             type uint32;
           }
           leaf queue-id {
             type uint32;
           }
         }
       }
       case multipart-request-group-case {
         container multipart-request-group {
           leaf group-id {
             type oft:group-id;
           }
         }
       }
       case multipart-request-group-desc-case {
         container multipart-request-group-desc {
           leaf empty {
             type empty;
           }
         }
       }
       case multipart-request-group-features-case {
         container multipart-request-group-features {
           leaf empty {
             type empty;
           }
         }
       }
       case multipart-request-meter-case {
         container multipart-request-meter {
           leaf meter-id {
             type oft:meter-id;
           }
         }
       }
       case multipart-request-meter-config-case {
         container multipart-request-meter-config {
           leaf meter-id {
             type oft:meter-id;
           }
         }
       }
       case multipart-request-meter-features-case {
         container multipart-request-meter-features {
           leaf empty {
             type empty;
           }
         }
       }
       case multipart-request-table-features-case {
         container multipart-request-table-features {
           list table-features {
             leaf table-id {
               type uint8;
             }
             leaf name {
               type string;
             }
             leaf metadata-match {
               type uint64;
             }
             leaf metadata-write {
               type uint64;
             }
             leaf config {
               type oft:table-config;
             }
             leaf max-entries {
               type uint32;
             }
             uses table-features-properties-grouping;
           }
         }
       }
       case multipart-request-port-desc-case {
         container multipart-request-port-desc {
           leaf empty {
             type empty;
           }
         }
       }
       case multipart-request-experimenter-case {
         container multipart-request-experimenter {
           uses experimenter-core;
         }
       }
     }
   }
   grouping multipart-reply {
     uses ofHeader;
     leaf type {
       type oft:multipart-type;
     }
     leaf flags {
       type oft:multipart-request-flags;
     }
     choice multipart-reply-body {
       case multipart-reply-desc-case {
         container multipart-reply-desc {
           leaf mfr_desc {
             type string;
           }
           leaf hw_desc {
             type string;
           }
           leaf sw_desc {
             type string;
           }
           leaf serial_num {
             type string;
           }
           leaf dp_desc {
             type string;
           }
         }
       }
       case multipart-reply-flow-case {
         container multipart-reply-flow {
           list flow-stats {
             leaf table-id {
               type uint8;
             }
             leaf duration-sec {
               type uint32;
             }
             leaf duration-nsec {
               type uint32;
             }
             leaf priority {
               type uint16;
             }
             leaf idle-timeout {
               type uint16;
             }
             leaf hard-timeout {
               type uint16;
             }
             leaf flags {
               type oft:flow-mod-flags;
             }
             leaf cookie {
               type uint64;
             }
             leaf packet-count {
               type uint64;
             }
             leaf byte-count {
               type uint64;
             }
             uses oxm:match-grouping;
             uses ofinstruction:instructions-grouping;
             uses oxm:match-v10-grouping;
             uses ofaction:actions-grouping;
           }
         }
       }
       case multipart-reply-aggregate-case {
         container multipart-reply-aggregate {
           leaf packet-count {
             type uint64;
           }
           leaf byte-count {
             type uint64;
           }
           leaf flow-count {
             type uint32;
           }
         }
       }
       case multipart-reply-table-case {
         container multipart-reply-table {
           list table-stats {
             leaf table-id {
               type uint8;
             }
             leaf active-count {
               type uint32;
             }
             leaf lookup-count {
               type uint64;
             }
             leaf matched-count {
               type uint64;
             }
             leaf name {
               type string;
             }
             leaf wildcards {
               type oft:flow-wildcards-v10;
             }
             leaf nw-src-mask {
               type uint8;
             }
             leaf nw-dst-mask {
               type uint8;
             }
             leaf max-entries {
               type uint32;
             }
           }
         }
       }
       case multipart-reply-port-stats-case {
         container multipart-reply-port-stats {
           list port-stats {
             leaf port-no {
               type uint32;
             }
             leaf rx-packets {
               type uint64;
             }
             leaf tx-packets {
               type uint64;
             }
             leaf rx-bytes {
               type uint64;
             }
             leaf tx-bytes {
               type uint64;
             }
             leaf rx-dropped {
               type uint64;
             }
             leaf tx-dropped {
               type uint64;
             }
             leaf rx-errors {
               type uint64;
             }
             leaf tx-errors {
               type uint64;
             }
             leaf rx-frame-err {
               type uint64;
             }
             leaf rx-over-err {
               type uint64;
             }
             leaf rx-crc-err {
               type uint64;
             }
             leaf collisions {
               type uint64;
             }
             leaf duration-sec {
               type uint32;
             }
             leaf duration-nsec {
               type uint32;
             }
           }
         }
       }
       case multipart-reply-queue-case {
         container multipart-reply-queue {
           list queue-stats {
             leaf port-no {
               type uint32;
             }
             leaf queue-id {
               type uint32;
             }
             leaf tx-bytes {
               type uint64;
             }
             leaf tx-packets {
               type uint64;
             }
             leaf tx-errors {
               type uint64;
             }
             leaf duration-sec {
               type uint32;
             }
             leaf duration-nsec {
               type uint32;
             }
           }
         }
       }
       case multipart-reply-group-case {
         container multipart-reply-group {
           list group-stats {
             leaf group-id {
               type oft:group-id;
             }
             leaf ref-count {
               type uint32;
             }
             leaf packet-count {
               type uint64;
             }
             leaf byte-count {
               type uint64;
             }
             leaf duration-sec {
               type uint32;
             }
             leaf duration-nsec {
               type uint32;
             }
             list bucket-stats {
               leaf packet-count {
                 type uint64;
               }
               leaf byte-count {
                 type uint64;
               }
             }
           }
         }
       }
       case multipart-reply-group-desc-case {
         container multipart-reply-group-desc {
           list group-desc {
             leaf type {
               type oft:group-type;
             }
             leaf group-id {
               type oft:group-id;
             }
             uses buckets-grouping;
           }
         }
       }
       case multipart-reply-group-features-case {
         container multipart-reply-group-features {
           leaf types {
             type oft:group-types;
           }
           leaf capabilities {
             type oft:group-capabilities;
           }
           leaf-list max_groups {
             type uint32;
             ordered-by user;
           }
           leaf-list actions-bitmap {
             type oft:action-type;
             ordered-by user;
           }
         }
       }
       case multipart-reply-meter-case {
         container multipart-reply-meter {
           list meter-stats {
             leaf meter-id {
               type oft:meter-id;
             }
             leaf flow-count {
               type uint32;
             }
             leaf packet-in-count {
               type uint64;
             }
             leaf byte-in-count {
               type uint64;
             }
             leaf duration-sec {
               type uint32;
             }
             leaf duration-nsec {
               type uint32;
             }
             list meter-band-stats {
               leaf packet-band-count {
                 type uint64;
               }
               leaf byte-band-count {
                 type uint64;
               }
             }
           }
         }
       }
       case multipart-reply-meter-config-case {
         container multipart-reply-meter-config {
           list meter-config {
             leaf flags {
               type oft:meter-flags;
             }
             leaf meter-id {
               type oft:meter-id;
             }
             list bands {
               uses meter-band-header;
             }
           }
         }
       }
       case multipart-reply-meter-features-case {
         container multipart-reply-meter-features {
           leaf max-meter {
             type uint32;
           }
           leaf band-types {
             type oft:meter-band-type-bitmap;
           }
           leaf capabilities {
             type oft:meter-flags;
           }
           leaf max-bands {
             type uint8;
           }
           leaf max-color {
             type uint8;
           }
         }
       }
       case multipart-reply-table-features-case {
         container multipart-reply-table-features {
           list table-features {
             leaf table-id {
               type uint8;
             }
             leaf name {
               type string;
             }
             leaf metadata-match {
               type binary;
             }
             leaf metadata-write {
               type binary;
             }
             leaf config {
               type oft:table-config;
             }
             leaf max-entries {
               type uint32;
             }
             uses table-features-properties-grouping;
           }
         }
       }
       case multipart-reply-port-desc-case {
         container multipart-reply-port-desc {
           list ports {
             uses port-grouping;
           }
         }
       }
       case multipart-reply-experimenter-case {
         container multipart-reply-experimenter {
           uses experimenter-core;
         }
       }
     }
   }
   grouping barrier-request {
     uses ofHeader;
   }
   grouping barrier-reply {
     uses ofHeader;
   }
   grouping queue-get-config-request {
     uses ofHeader;
     leaf port {
       type oft:port-number;
     }
   }
   grouping queue-get-config-reply {
     uses ofHeader;
     leaf port {
       type oft:port-number;
     }
     list queues {
       uses packet-queue;
     }
   }
   grouping packet-queue {
     leaf queue-id {
       type oft:queue-id;
     }
     leaf port {
       type oft:port-number;
     }
     uses queue-property-header;
   }
   container queue-prop-container {
     uses queue-property-header;
   }
   grouping queue-property-header {
     list queue-property {
       config false;
       leaf property {
         type oft:queue-properties;
       }
     }
   }
   grouping role-request {
     uses ofHeader;
     leaf role {
       type oft:controller-role;
     }
     leaf generation-id {
       type uint64;
     }
   }
   grouping role-reply {
     uses ofHeader;
     leaf role {
       type oft:controller-role;
     }
     leaf generation-id {
       type uint64;
     }
   }
   grouping get-async-request {
     uses ofHeader;
   }
   grouping get-async-reply {
     uses ofHeader;
     uses async-body-grouping;
   }
   grouping set-async {
     uses ofHeader;
     uses async-body-grouping;
   }
   grouping async-body-grouping {
     list packet-in-mask {
       leaf-list mask {
         type oft:packet-in-reason;
       }
     }
     list port-status-mask {
       leaf-list mask {
         type oft:port-reason;
       }
     }
     list flow-removed-mask {
       leaf-list mask {
         type oft:flow-removed-reason;
       }
     }
   }
   grouping meter-mod {
     uses ofHeader;
     leaf command {
       type oft:meter-mod-command;
     }
     leaf flags {
       type oft:meter-flags;
     }
     leaf meter-id {
       type oft:meter-id;
     }
     list bands {
       uses meter-band-header;
     }
   }
   container meter-band-container {
     uses meter-band-header;
   }
   grouping meter-band-header {
     choice meter-band {
       case meter-band-drop-case {
         container meter-band-drop {
           uses meter-band-commons;
         }
       }
       case meter-band-dscp-remark-case {
         container meter-band-dscp-remark {
           uses meter-band-commons;
           leaf prec-level {
             type uint8;
           }
         }
       }
       case meter-band-experimenter-case {
         container meter-band-experimenter {
           uses meter-band-commons;
         }
       }
     }
   }
   grouping meter-band-commons {
     leaf type {
       type oft:meter-band-type;
     }
     leaf rate {
       type uint32;
     }
     leaf burst-size {
       type uint32;
     }
   }
   notification hello-message {
     uses hello;
   }
   notification error-message {
     uses error;
   }
   notification echo-request-message {
     uses echo-request;
   }
   notification experimenter-message {
     uses experimenter-of-message;
   }
   rpc echo {
     input input {
       uses echo-request;
     }
     output output {
       uses echo-reply;
     }
   }
   rpc echo-reply {
     input input {
       uses echo-reply;
     }
   }
   rpc hello {
     input input {
       uses hello;
     }
   }
   rpc experimenter {
     input input {
       uses experimenter-of-message;
     }
   }
   rpc get-features {
     input input {
       uses features-request;
     }
     output output {
       uses features-reply;
     }
   }
   rpc get-config {
     input input {
       uses get-config-request;
     }
     output output {
       uses get-config-reply;
     }
   }
   rpc set-config {
     input input {
       uses set-config;
     }
   }
   notification packet-in-message {
     uses packet-in;
   }
   notification flow-removed-message {
     uses flow-removed;
   }
   notification port-status-message {
     uses port-status;
   }
   rpc packet-out {
     input input {
       uses packet-out;
     }
   }
   rpc flow-mod {
     input input {
       uses flow-mod;
     }
   }
   rpc group-mod {
     input input {
       uses group-mod;
     }
   }
   rpc port-mod {
     input input {
       uses port-mod;
     }
   }
   rpc table-mod {
     input input {
       uses table-mod;
     }
   }
   rpc multipart-request {
     input input {
       uses multipart-request;
     }
   }
   notification multipart-reply-message {
     uses multipart-reply;
   }
   rpc barrier {
     input input {
       uses barrier-request;
     }
     output output {
       uses barrier-reply;
     }
   }
   rpc get-queue-config {
     input input {
       uses queue-get-config-request;
     }
     output output {
       uses queue-get-config-reply;
     }
   }
   rpc role-request {
     input input {
       uses role-request;
     }
     output output {
       uses role-reply;
     }
   }
   rpc get-async {
     input input {
       uses get-async-request;
     }
     output output {
       uses get-async-reply;
     }
   }
   rpc set-async {
     input input {
       uses set-async;
     }
   }
   rpc meter-mod {
     input input {
       uses meter-mod;
     }
   }
 }
 
  • Method Details

    • implementedInterface

      default Class<OpenflowProtocolData> implementedInterface()
      Specified by:
      implementedInterface in interface org.opendaylight.yangtools.binding.BindingContract<org.opendaylight.yangtools.binding.DataContainer>
      Specified by:
      implementedInterface in interface org.opendaylight.yangtools.binding.DataRoot<OpenflowProtocolData>
    • getTableFeaturesPropertiesContainer

      TableFeaturesPropertiesContainer getTableFeaturesPropertiesContainer()
      Return tableFeaturesPropertiesContainer, or null if it is not present.
      Returns:
      TableFeaturesPropertiesContainer tableFeaturesPropertiesContainer, or null if it is not present.
    • nonnullTableFeaturesPropertiesContainer

      @NonNull TableFeaturesPropertiesContainer nonnullTableFeaturesPropertiesContainer()
      Return tableFeaturesPropertiesContainer, or an empty instance if it is not present.
      Returns:
      TableFeaturesPropertiesContainer tableFeaturesPropertiesContainer, or an empty instance if it is not present.
    • getQueuePropContainer

      QueuePropContainer getQueuePropContainer()
      Return queuePropContainer, or null if it is not present.
      Returns:
      QueuePropContainer queuePropContainer, or null if it is not present.
    • nonnullQueuePropContainer

      @NonNull QueuePropContainer nonnullQueuePropContainer()
      Return queuePropContainer, or an empty instance if it is not present.
      Returns:
      QueuePropContainer queuePropContainer, or an empty instance if it is not present.
    • getMeterBandContainer

      MeterBandContainer getMeterBandContainer()
      Return meterBandContainer, or null if it is not present.
      Returns:
      MeterBandContainer meterBandContainer, or null if it is not present.
    • nonnullMeterBandContainer

      @NonNull MeterBandContainer nonnullMeterBandContainer()
      Return meterBandContainer, or an empty instance if it is not present.
      Returns:
      MeterBandContainer meterBandContainer, or an empty instance if it is not present.