Interface NiciraActionData

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.DataRoot

    @Generated("mdsal-binding-generator")
    public interface NiciraActionData
    extends org.opendaylight.yangtools.yang.binding.DataRoot
    Nicira openflow extensions of action.

    This class represents the following YANG schema fragment defined in module nicira-action

     module nicira-action {
       yang-version 1;
       namespace urn:opendaylight:openflowjava:nx:action;
       prefix nicira-action;
       import openflow-extensible-match {
         prefix oxm;
       }
       import openflow-action {
         prefix ofaction;
         revision-date 2015-02-03;
       }
       import openflow-types {
         prefix oft;
       }
       import yang-ext {
         prefix ext;
         revision-date 2013-07-09;
       }
       import ietf-inet-types {
         prefix inet;
         revision-date 2013-07-15;
       }
       revision 2014-04-21 {
       }
       identity nxm-nx-reg-load {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-reg-load2 {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-reg-move {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-output-reg {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-output-reg2 {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-resubmit {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-fin-timeout {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-multipath {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-conntrack {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-ct-clear {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-learn {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-encap {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-decap {
         base experimenter-action-sub-type;
       }
       identity nxm-nx-dec-nsh-ttl {
         base experimenter-action-sub-type;
       }
       grouping ofj-nx-action-reg-load-grouping {
         container nx-action-reg-load {
           leaf ofs_nbits {
             type uint16;
           }
           leaf dst {
             type uint32;
           }
           leaf value {
             type uint64;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-reg-load2-grouping {
         container nx-action-reg-load2 {
           uses oxm:match-entries-grouping;
         }
       }
       grouping ofj-nx-action-reg-move-grouping {
         container nx-action-reg-move {
           leaf n_bits {
             type uint16;
           }
           leaf src_ofs {
             type uint16;
           }
           leaf dst_ofs {
             type uint16;
           }
           leaf src {
             type uint64;
           }
           leaf dst {
             type uint64;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-output-reg-grouping {
         container nx-action-output-reg {
           leaf n_bits {
             type uint16;
           }
           leaf src {
             type uint32;
           }
           leaf max_len {
             type uint16;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-output-reg2-grouping {
         container nx-action-output-reg2 {
           leaf n_bits {
             type uint16;
           }
           leaf src {
             type uint64;
           }
           leaf max_len {
             type uint16;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-resubmit-grouping {
         container nx-action-resubmit {
           leaf in-port {
             type uint16;
             default 0xfff8;
           }
           leaf table {
             type uint8 {
               range "0 .. 255";
             }
             default 255;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-fin-timeout-grouping {
         container nx-action-fin-timeout {
           leaf fin-idle-timeout {
             type uint16;
           }
           leaf fin-hard-timeout {
             type uint16;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       typedef ofj-nx-hash-fields {
         type enumeration {
           enum NX_HASH_FIELDS_ETH_SRC {
             value 0;
           }
           enum NX_HASH_FIELDS_SYMMETRIC_L4 {
             value 1;
           }
         }
       }
       typedef ofj-nx-mp-algorithm {
         type enumeration {
           enum NX_MP_ALG_MODULO_N {
             value 0;
           }
           enum NX_MP_ALG_HASH_THRESHOLD {
             value 1;
           }
           enum NX_MP_ALG_HRW {
             value 2;
           }
           enum NX_MP_ALG_ITER_HASH {
             value 3;
           }
         }
       }
       typedef nx-action-nat-range-present {
         type enumeration {
           enum NX_NAT_RANGE_IPV4_MIN {
             value 1;
           }
           enum NX_NAT_RANGE_IPV4_MAX {
             value 2;
           }
           enum NX_NAT_RANGE_IPV6_MIN {
             value 4;
           }
           enum NX_NAT_RANGE_IPV6_MAX {
             value 8;
           }
           enum NX_NAT_RANGE_PROTO_MIN {
             value 16;
           }
           enum NX_NAT_RANGE_PROTO_MAX {
             value 32;
           }
         }
       }
       typedef nx-action-nat-flags {
         type enumeration {
           enum NX_NAT_F_SRC {
             value 1;
           }
           enum NX_NAT_F_DST {
             value 2;
           }
           enum NX_NAT_F_PERSISTENT {
             value 4;
           }
           enum NX_NAT_F_PROTO_HASH {
             value 8;
           }
           enum NX_NAT_F_PROTO_RANDOM {
             value 16;
           }
         }
       }
       grouping ofj-nx-action-multipath-grouping {
         container nx-action-multipath {
           leaf fields {
             type ofj-nx-hash-fields;
           }
           leaf basis {
             type uint16;
             default 0x400;
           }
           leaf algorithm {
             type ofj-nx-mp-algorithm;
           }
           leaf max-link {
             type uint16;
           }
           leaf arg {
             type uint32;
           }
           leaf ofs-nbits {
             type uint16;
           }
           leaf dst {
             type uint32;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-conntrack-grouping {
         container nx-action-conntrack {
           leaf flags {
             type uint16;
           }
           leaf zone-src {
             type uint32;
           }
           leaf conntrack-zone {
             type uint16;
           }
           leaf recirc-table {
             type uint8;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
           list ct-actions {
             uses ofpact-actions;
           }
         }
       }
       grouping ofj-nx-action-ct-clear-grouping {
         container nx-action-ct-clear {
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofpact-actions {
         choice ofpact-actions {
           case nx-action-nat-case {
             container nx-action-nat {
               leaf flags {
                 type uint16;
               }
               leaf range_present {
                 type uint16;
               }
               leaf ip-address-min {
                 type inet:ip-address;
               }
               leaf ip-address-max {
                 type inet:ip-address;
               }
               leaf port-min {
                 type uint16;
               }
               leaf port-max {
                 type uint16;
               }
             }
           }
           case nx-action-ct-mark-case {
             container nx-action-ct-mark {
               leaf ct-mark {
                 type uint32;
               }
             }
           }
         }
       }
       grouping flow-mod-spec {
         choice flow-mod-spec {
           case flow-mod-add-match-from-field-case {
             container flow-mod-add-match-from-field {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
               leaf dst-field {
                 type uint32;
               }
               leaf dst-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-add-match-from-value-case {
             container flow-mod-add-match-from-value {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf value {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-copy-field-into-field-case {
             container flow-mod-copy-field-into-field {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
               leaf dst-field {
                 type uint32;
               }
               leaf dst-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-copy-value-into-field-case {
             container flow-mod-copy-value-into-field {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf value {
                 type uint16;
               }
               leaf dst-field {
                 type uint32;
               }
               leaf dst-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-output-to-port-case {
             container flow-mod-output-to-port {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
             }
           }
         }
       }
       grouping ofj-nx-action-learn-grouping {
         container nx-action-learn {
           leaf idle-timeout {
             type uint16;
           }
           leaf hard-timeout {
             type uint16;
           }
           leaf priority {
             type uint16;
           }
           leaf cookie {
             type uint64;
           }
           leaf flags {
             type uint16;
           }
           leaf table-id {
             type uint8;
           }
           leaf fin-idle-timeout {
             type uint16;
           }
           leaf fin-hard-timeout {
             type uint16;
           }
           list flow-mods {
             uses flow-mod-spec;
           }
         }
       }
       grouping ofj-nx-action-encap-grouping {
         container nx-action-encap {
           leaf packet-type {
             type uint32;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-decap-grouping {
         container nx-action-decap {
           leaf packet-type {
             type uint32;
           }
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       grouping ofj-nx-action-dec-nsh-ttl-grouping {
         container nx-action-dec-nsh-ttl {
           leaf experimenter-id {
             type oft:experimenter-id;
           }
         }
       }
       augment /ofaction:action-container/ofaction:action-choice {
         ext:augment-identifier ofj-aug-nx-action;
         case action-reg-load {
           uses ofj-nx-action-reg-load-grouping;
         }
         case action-reg-load2 {
           uses ofj-nx-action-reg-load2-grouping;
         }
         case action-reg-move {
           uses ofj-nx-action-reg-move-grouping;
         }
         case action-output-reg {
           uses ofj-nx-action-output-reg-grouping;
         }
         case action-output-reg2 {
           uses ofj-nx-action-output-reg2-grouping;
         }
         case action-resubmit {
           uses ofj-nx-action-resubmit-grouping;
         }
         case action-fin-timeout {
           uses ofj-nx-action-fin-timeout-grouping;
         }
         case action-multipath {
           uses ofj-nx-action-multipath-grouping;
         }
         case action-conntrack {
           uses ofj-nx-action-conntrack-grouping;
         }
         case action-ct-clear {
           uses ofj-nx-action-ct-clear-grouping;
         }
         case action-learn {
           uses ofj-nx-action-learn-grouping;
         }
         case action-encap {
           uses ofj-nx-action-encap-grouping;
         }
         case action-decap {
           uses ofj-nx-action-decap-grouping;
         }
         case action-dec-nsh-ttl {
           uses ofj-nx-action-dec-nsh-ttl-grouping;
         }
       }
     }