4 namespace "urn:opendaylight:openflowjava:nx:action";
5 prefix "nicira-action";
7 import openflow-action {prefix ofaction; revision-date "2015-02-03";}
8 import openflow-types {prefix oft;}
9 import yang-ext {prefix ext; revision-date "2013-07-09";}
12 "Nicira openflow extensions of action.";
14 revision "2014-04-21" {
15 description "Initial revision";
18 identity nxm-nx-reg-load {
19 base ofaction:experimenter-action-sub-type;
21 identity nxm-nx-reg-move {
22 base ofaction:experimenter-action-sub-type;
24 identity nxm-nx-output-reg {
25 base ofaction:experimenter-action-sub-type;
27 identity nxm-nx-resubmit {
28 base ofaction:experimenter-action-sub-type;
30 identity nxm-nx-multipath {
31 base ofaction:experimenter-action-sub-type;
33 identity nxm-nx-push-nsh {
34 base ofaction:experimenter-action-sub-type;
36 identity nxm-nx-pop-nsh {
37 base ofaction:experimenter-action-sub-type;
39 identity nxm-nx-conntrack {
40 base ofaction:experimenter-action-sub-type;
42 identity nxm-nx-learn {
43 base ofaction:experimenter-action-sub-type;
46 grouping ofj-nx-action-reg-load-grouping {
47 container nx-action-reg-load {
57 leaf experimenter-id {
58 type oft:experimenter-id;
62 grouping ofj-nx-action-reg-move-grouping {
63 container nx-action-reg-move {
79 leaf experimenter-id {
80 type oft:experimenter-id;
84 grouping ofj-nx-action-output-reg-grouping {
85 container nx-action-output-reg {
95 leaf experimenter-id {
96 type oft:experimenter-id;
101 grouping ofj-nx-action-resubmit-grouping {
102 container nx-action-resubmit {
105 default 0xfff8; // OFPP_INPORT
111 default 255; // Current Table
113 leaf experimenter-id {
114 type oft:experimenter-id;
119 typedef ofj-nx-hash-fields {
121 enum NX_HASH_FIELDS_ETH_SRC {
123 description "eth src address only";
125 enum NX_HASH_FIELDS_SYMMETRIC_L4 {
127 description "L2 through L4 fields";
132 typedef ofj-nx-mp-algorithm {
134 enum NX_MP_ALG_MODULO_N {
137 enum NX_MP_ALG_HASH_THRESHOLD {
143 enum NX_MP_ALG_ITER_HASH {
149 grouping ofj-nx-action-multipath-grouping {
150 container nx-action-multipath {
152 type ofj-nx-hash-fields;
159 type ofj-nx-mp-algorithm;
173 leaf experimenter-id {
174 type oft:experimenter-id;
179 grouping ofj-nx-action-push-nsh-grouping {
180 container nx-action-push-nsh {
181 leaf experimenter-id {
182 type oft:experimenter-id;
186 grouping ofj-nx-action-pop-nsh-grouping {
187 container nx-action-pop-nsh {
188 leaf experimenter-id {
189 type oft:experimenter-id;
194 grouping ofj-nx-action-conntrack-grouping {
195 container nx-action-conntrack {
202 leaf conntrack-zone {
208 leaf experimenter-id {
209 type oft:experimenter-id;
214 grouping flow-mod-spec {
216 "flow mod spec indicates the actions that should be performed to create a new flow which was learned from learn action.";
217 choice flow-mod-spec{
218 case flow-mod-add-match-from-field-case{
219 container flow-mod-add-match-from-field{
220 leaf flow-mod-num-bits{
241 case flow-mod-add-match-from-field-case{
242 container flow-mod-add-match-from-field{
243 leaf flow-mod-num-bits{
264 case flow-mod-add-match-from-value-case{
265 container flow-mod-add-match-from-value{
266 leaf flow-mod-num-bits{
283 case flow-mod-copy-field-into-field-case{
284 container flow-mod-copy-field-into-field{
285 leaf flow-mod-num-bits{
306 case flow-mod-copy-value-into-field-case{
307 container flow-mod-copy-value-into-field{
308 leaf flow-mod-num-bits{
325 case flow-mod-output-to-port-case{
326 container flow-mod-output-to-port{
327 leaf flow-mod-num-bits{
343 grouping ofj-nx-action-learn-grouping {
344 container nx-action-learn {
363 leaf fin-idle-timeout {
366 leaf fin-hard-timeout {
376 augment "/ofaction:action-container/ofaction:action-choice" {
377 ext:augment-identifier "ofj-aug-nx-action";
378 case action-reg-load {
379 uses ofj-nx-action-reg-load-grouping;
381 case action-reg-move {
382 uses ofj-nx-action-reg-move-grouping;
384 case action-output-reg {
385 uses ofj-nx-action-output-reg-grouping;
387 case action-resubmit {
388 uses ofj-nx-action-resubmit-grouping;
390 case action-multipath {
391 uses ofj-nx-action-multipath-grouping;
393 case action-push-nsh {
394 uses ofj-nx-action-push-nsh-grouping;
396 case action-pop-nsh {
397 uses ofj-nx-action-pop-nsh-grouping;
399 case action-conntrack {
400 uses ofj-nx-action-conntrack-grouping;
403 uses ofj-nx-action-learn-grouping;