48f807bffea72aa987b4b94fee0944d82eef2569
[openflowplugin.git] / extension / openflowplugin-extension-nicira / src / main / yang / openflowplugin-extension-nicira-action.yang
1 module openflowplugin-extension-nicira-action {
2     yang-version 1;
3
4     namespace "urn:opendaylight:openflowplugin:extension:nicira:action";
5     prefix "openflowplugin-nicira-action";
6
7     import yang-ext {prefix ext; revision-date "2013-07-09";}
8     import flow-node-inventory {prefix fni; revision-date 2013-08-19; }
9     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
10     import sal-flow {prefix sal-flow;revision-date "2013-08-19";}
11     import sal-group {prefix sal-group;revision-date "2013-09-18";}
12     import packet-processing {prefix sal-packet;revision-date "2013-07-09";}
13     import opendaylight-flow-statistics {prefix odl-flow-stats;revision-date "2013-08-19";}
14     import opendaylight-group-statistics {prefix odl-group-stats;revision-date "2013-11-11";}
15     import nicira-match {prefix nicira-match;revision-date "2014-04-21";}
16     import openflowplugin-extension-general {prefix ext-gen;revision-date "2014-07-14";}
17     import openflow-action {prefix ofaction;revision-date "2015-02-03";}
18     import nicira-action {prefix nicira-action;revision-date "2014-04-21";}
19
20     description
21         "Nicira openflow action extensions.";
22
23     revision "2014-07-14" {
24         description "Initial revision";
25     }
26
27     identity nx-action-reg-load-key {
28         base ext-gen:extension-key;
29     }
30     identity nx-action-reg-move-key {
31         base ext-gen:extension-key;
32     }
33
34     grouping nxm-nx-reg-grouping {
35         leaf nx-reg {
36             type identityref {
37                 base nicira-match:nxm-nx-reg;
38             }
39         }
40     }
41     grouping nxm-nx-tun-id-grouping {
42         leaf nx-tun-id {
43             type empty;
44         }
45     }
46     grouping nxm-nx-arp-sha-grouping {
47         leaf nx-arp-sha {
48             type empty;
49         }
50     }
51     grouping nxm-nx-arp-tha-grouping {
52         leaf nx-arp-tha {
53             type empty;
54         }
55     }
56     grouping nxm-of-arp-op-grouping {
57         leaf of-arp-op {
58             type empty;
59         }
60     }
61     grouping nxm-of-arp-spa-grouping {
62         leaf of-arp-spa {
63             type empty;
64         }
65     }
66     grouping nxm-of-arp-tpa-grouping {
67         leaf of-arp-tpa {
68             type empty;
69         }
70     }
71     grouping nxm-nx-tun-ipv4-dst-grouping {
72         leaf nx-tun-ipv4-dst {
73             type empty;
74         }
75     }
76     grouping nxm-nx-tun-ipv4-src-grouping {
77         leaf nx-tun-ipv4-src {
78             type empty;
79         }
80     }
81     grouping nxm-of-eth-src-grouping {
82         leaf of-eth-src {
83             type empty;
84         }
85     }
86     grouping nxm-of-eth-dst-grouping {
87         leaf of-eth-dst {
88             type empty;
89         }
90     }
91     grouping nxm-of-eth-type-grouping {
92         leaf of-eth-type {
93             type empty;
94         }
95     }
96     grouping nxm-nx-nsp-grouping {
97         leaf nx-nsp-dst {
98             type empty;
99         }
100     }
101     grouping nxm-nx-nsi-grouping {
102         leaf nx-nsi-dst {
103             type empty;
104         }
105     }
106     grouping nxm-nx-nshc-1-grouping {
107         leaf nx-nshc-1-dst {
108             type empty;
109         }
110     }
111     grouping nxm-nx-nshc-2-grouping {
112         leaf nx-nshc-2-dst {
113             type empty;
114         }
115     }
116     grouping nxm-nx-nshc-3-grouping {
117         leaf nx-nshc-3-dst {
118             type empty;
119         }
120     }
121     grouping nxm-nx-nshc-4-grouping {
122         leaf nx-nshc-4-dst {
123             type empty;
124         }
125     }
126     grouping nxm-of-ip-src-grouping {
127         leaf of-ip-src {
128             type empty;
129         }
130     }
131     grouping nxm-of-ip-dst-grouping {
132         leaf of-ip-dst {
133             type empty;
134         }
135     }
136     grouping nxm-of-icmp-type-grouping {
137         leaf of-icmp-type {
138             type empty;
139         }
140     }
141     grouping nxm-nx-encap-eth-src-grouping {
142         leaf nx-encap-eth-src {
143             type empty;
144         }
145     }
146     grouping nxm-nx-encap-eth-dst-grouping {
147         leaf nx-encap-eth-dst {
148             type empty;
149         }
150     }
151     grouping nxm-nx-nsh-mdtype-grouping {
152         leaf nx-nsh-mdtype {
153             type empty;
154         }
155     }
156     grouping nxm-nx-nsh-np-grouping {
157         leaf nx-nsh-np {
158             type empty;
159         }
160     }
161     grouping nxm-nx-tun-gpe-np-grouping {
162         leaf nx-tun-gpe-np {
163             type empty;
164         }
165     }
166
167     grouping dst-choice-grouping {
168         choice dst-choice {
169             case dst-nx-reg-case {
170                 uses nxm-nx-reg-grouping;
171             }
172             case dst-nx-tun-id-case {
173                 uses nxm-nx-tun-id-grouping;
174             }
175             case dst-nx-arp-sha-case {
176                 uses nxm-nx-arp-sha-grouping;
177             }
178             case dst-nx-arp-tha-case {
179                 uses nxm-nx-arp-tha-grouping;
180             }
181             case dst-of-arp-op-case {
182                 uses nxm-of-arp-op-grouping;
183             }
184             case dst-of-arp-spa-case {
185                 uses nxm-of-arp-spa-grouping;
186             }
187             case dst-of-arp-tpa-case {
188                 uses nxm-of-arp-tpa-grouping;
189             }
190             case dst-nx-tun-ipv4-dst-case {
191                 uses nxm-nx-tun-ipv4-dst-grouping;
192             }
193             case dst-nx-tun-ipv4-src-case {
194                 uses nxm-nx-tun-ipv4-src-grouping;
195             }
196             case dst-of-eth-src-case {
197                 uses nxm-of-eth-src-grouping;
198             }
199             case dst-of-eth-dst-case {
200                 uses nxm-of-eth-dst-grouping;
201             }
202             case dst-nx-nsp-case {
203                 uses nxm-nx-nsp-grouping;
204             }
205             case dst-nx-nsi-case {
206                 uses nxm-nx-nsi-grouping;
207             }
208             case dst-nx-nshc-1-case {
209                 uses nxm-nx-nshc-1-grouping;
210             }
211             case dst-nx-nshc-2-case {
212                 uses nxm-nx-nshc-2-grouping;
213             }
214             case dst-nx-nshc-3-case {
215                 uses nxm-nx-nshc-3-grouping;
216             }
217             case dst-nx-nshc-4-case {
218                 uses nxm-nx-nshc-4-grouping;
219             }
220             case dst-of-ip-src-case {
221                 uses nxm-of-ip-src-grouping;
222             }
223             case dst-of-ip-dst-case {
224                 uses nxm-of-ip-dst-grouping;
225             }
226             case dst-of-icmp-type-case {
227                 uses nxm-of-icmp-type-grouping;
228             }
229             case dst-nx-encap-eth-src-case {
230                 uses nxm-nx-encap-eth-src-grouping;
231             }
232             case dst-nx-encap-eth-dst-case {
233                 uses nxm-nx-encap-eth-dst-grouping;
234             }
235             case dst-nx-nsh-mdtype-case {
236                 uses nxm-nx-nsh-mdtype-grouping;
237             }
238             case dst-nx-nsh-np-case {
239                 uses nxm-nx-nsh-np-grouping;
240             }
241             case dst-nx-tun-gpe-np-case {
242                 uses nxm-nx-tun-gpe-np-grouping;
243             }
244         }
245     }
246
247     grouping src-choice-grouping {
248         choice src-choice {
249             case src-nx-reg-case {
250                 uses nxm-nx-reg-grouping;
251             }
252             case src-nx-tun-id-case {
253                 uses nxm-nx-tun-id-grouping;
254             }
255             case src-nx-arp-sha-case {
256                 uses nxm-nx-arp-sha-grouping;
257             }
258             case src-nx-arp-tha-case {
259                 uses nxm-nx-arp-tha-grouping;
260             }
261             case src-of-arp-op-case {
262                 uses nxm-of-arp-op-grouping;
263             }
264             case src-of-arp-spa-case {
265                 uses nxm-of-arp-spa-grouping;
266             }
267             case src-of-arp-tpa-case {
268                 uses nxm-of-arp-tpa-grouping;
269             }
270             case src-nx-tun-ipv4-dst-case {
271                 uses nxm-nx-tun-ipv4-dst-grouping;
272             }
273             case src-nx-tun-ipv4-src-case {
274                 uses nxm-nx-tun-ipv4-src-grouping;
275             }
276             case src-of-eth-src-case {
277                 uses nxm-of-eth-src-grouping;
278             }
279             case src-of-eth-dst-case {
280                 uses nxm-of-eth-dst-grouping;
281             }
282             case src-of-eth-type-case {
283                 uses nxm-of-eth-type-grouping;
284             }
285             case src-nx-nsp-case {
286                 uses nxm-nx-nsp-grouping;
287             }
288             case src-nx-nsi-case {
289                 uses nxm-nx-nsi-grouping;
290             }
291             case src-nx-nshc-1-case {
292                 uses nxm-nx-nshc-1-grouping;
293             }
294             case src-nx-nshc-2-case {
295                 uses nxm-nx-nshc-2-grouping;
296             }
297             case src-nx-nshc-3-case {
298                 uses nxm-nx-nshc-3-grouping;
299             }
300             case src-nx-nshc-4-case {
301                 uses nxm-nx-nshc-4-grouping;
302             }
303             case src-of-ip-src-case {
304                 uses nxm-of-ip-src-grouping;
305             }
306             case src-of-ip-dst-case {
307                 uses nxm-of-ip-dst-grouping;
308             }
309             case src-nx-encap-eth-src-case {
310                 uses nxm-nx-encap-eth-src-grouping;
311             }
312             case src-nx-encap-eth-dst-case {
313                 uses nxm-nx-encap-eth-dst-grouping;
314             }
315             case src-nx-nsh-mdtype-case {
316                 uses nxm-nx-nsh-mdtype-grouping;
317             }
318             case src-nx-nsh-np-case {
319                 uses nxm-nx-nsh-np-grouping;
320             }
321             case src-nx-tun-gpe-np-case {
322                 uses nxm-nx-tun-gpe-np-grouping;
323             }
324         }
325     }
326
327     grouping range-grouping {
328         leaf start {
329             description "Include value.";
330             type uint16;
331         }
332         leaf end {
333             description "Include value.";
334             type uint16;
335         }
336     }
337
338     grouping nx-action-reg-load-grouping {
339         container nx-reg-load {
340             container dst {
341                 description "Writes value to bits start through end, inclusive, in field dst.";
342                 uses dst-choice-grouping;
343                 uses range-grouping;
344             }
345             leaf value {
346                 type uint64;
347             }
348         }
349     }
350
351     grouping nx-action-reg-move-grouping {
352         container nx-reg-move {
353             container src {
354                 description "Writes value to bits start through end, inclusive, in field src.";
355                 uses src-choice-grouping;
356                 uses range-grouping;
357             }
358             container dst {
359                 description "Writes value to bits start through end, inclusive, in field dst.";
360                 uses dst-choice-grouping;
361                 uses range-grouping;
362             }
363         }
364     }
365     grouping nx-action-output-reg-grouping {
366         container nx-output-reg {
367             container src {
368                 description "Choose the register with the OpenFlow output port, using the number of
369 bits specified from the register.";
370                 uses src-choice-grouping;
371                 leaf ofs_nbits {
372                     type uint16;
373                 }
374             }
375             leaf max_len {
376                 description "The number of bytes to send when the chosen port is OFPP_CONTROLLER";
377                 type uint16;
378             }
379         }
380     }
381
382     grouping nx-action-resubmit-grouping {
383         container nx-resubmit {
384             description "Re-searches OpenFlow flow table (or the table whose number is specified by table)
385             with the in-port field replaced  by port (if port is specified) and executes the actions found";
386             leaf in-port {
387                 type uint16;
388                 default 0xfff8; // OFPP_INPORT
389             }
390             leaf table {
391                 type uint8 {
392                     range "0 .. 255";
393                 }
394                 default 255; // Current Table
395             }
396         }
397     }
398
399     grouping nx-action-multipath-grouping {
400         container nx-multipath {
401             leaf fields {
402                 type nicira-action:ofj-nx-hash-fields;
403             }
404             leaf basis {
405                 type uint16;
406                 default 0x400;
407             }
408             leaf algorithm {
409                 type nicira-action:ofj-nx-mp-algorithm;
410             }
411             leaf max-link {
412                 type uint16;
413             }
414             leaf arg {
415                 type uint32;
416             }
417             container dst {
418                 description "Writes value to bits start through end, inclusive, in field dst.";
419                 uses dst-choice-grouping;
420                 uses range-grouping;
421             }
422         }
423     }
424
425     grouping nx-action-push-nsh-grouping {
426         container nx-push-nsh {
427             presence "no content action";
428             description "Push NSH header";
429         }
430     }
431     grouping nx-action-pop-nsh-grouping {
432         container nx-pop-nsh {
433             presence "no content action";
434             description "Pop NSH header";
435         }
436     }
437
438     grouping nx-action-conntrack-grouping {
439         container nx-conntrack {
440             leaf flags {
441                 type uint16;
442             }
443             leaf zone-src {
444                 type uint32;
445             }
446             leaf conntrack-zone {
447                 type uint16;
448             }
449             leaf recirc-table {
450                 type uint8;
451             }
452         }
453     }
454     // ACTION augmentations
455     // RPCS
456     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
457         case nx-action-reg-load-rpc-add-flow-write-actions-case {
458             uses nx-action-reg-load-grouping;
459         }
460     }
461     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
462         case nx-action-reg-move-rpc-add-flow-write-actions-case {
463             uses nx-action-reg-move-grouping;
464         }
465     }
466     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
467         case nx-action-output-reg-rpc-add-flow-write-actions-case {
468             uses nx-action-output-reg-grouping;
469         }
470     }
471     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
472         case nx-action-resubmit-rpc-add-flow-write-actions-case {
473             uses nx-action-resubmit-grouping;
474         }
475     }
476     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
477         case nx-action-multipath-rpc-add-flow-write-actions-case {
478             uses nx-action-multipath-grouping;
479         }
480     }
481     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
482         case nx-action-push-nsh-rpc-add-flow-write-actions-case {
483             uses nx-action-push-nsh-grouping;
484         }
485     }
486     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
487         case nx-action-pop-nsh-rpc-add-flow-write-actions-case {
488             uses nx-action-pop-nsh-grouping;
489         }
490     }
491      augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
492         case nx-action-conntrack-rpc-add-flow-write-actions-case {
493             uses nx-action-conntrack-grouping;
494         }
495     }
496
497     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
498         case nx-action-reg-load-rpc-add-flow-apply-actions-case {
499             uses nx-action-reg-load-grouping;
500         }
501     }
502     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
503         case nx-action-reg-move-rpc-add-flow-apply-actions-case {
504             uses nx-action-reg-move-grouping;
505         }
506     }
507     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
508         case nx-action-output-reg-rpc-add-flow-apply-actions-case {
509             uses nx-action-output-reg-grouping;
510         }
511     }
512     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
513         case nx-action-resubmit-rpc-add-flow-apply-actions-case {
514             uses nx-action-resubmit-grouping;
515         }
516     }
517     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
518         case nx-action-multipath-rpc-add-flow-apply-actions-case {
519             uses nx-action-multipath-grouping;
520         }
521     }
522     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
523         case nx-action-push-nsh-rpc-add-flow-apply-actions-case {
524             uses nx-action-push-nsh-grouping;
525         }
526     }
527     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
528         case nx-action-pop-nsh-rpc-add-flow-apply-actions-case {
529             uses nx-action-pop-nsh-grouping;
530         }
531     }
532
533     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
534         case nx-action-conntrack-rpc-add-flow-apply-actions-case {
535             uses nx-action-conntrack-grouping;
536         }
537     }
538
539     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
540         case "nx-action-reg-load-rpc-remove-flow-write-actions-case" {
541             uses nx-action-reg-load-grouping;
542         }
543     }
544     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
545         case "nx-action-reg-move-rpc-remove-flow-write-actions-case" {
546             uses nx-action-reg-move-grouping;
547         }
548     }
549     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
550         case "nx-action-output-reg-rpc-remove-flow-write-actions-case" {
551             uses nx-action-output-reg-grouping;
552         }
553     }
554     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
555         case nx-action-resubmit-rpc-remove-flow-write-actions-case {
556             uses nx-action-resubmit-grouping;
557         }
558     }
559     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
560         case nx-action-multipath-rpc-remove-flow-write-actions-case {
561             uses nx-action-multipath-grouping;
562         }
563     }
564     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
565         case nx-action-push-nsh-rpc-remove-flow-write-actions-case {
566             uses nx-action-push-nsh-grouping;
567         }
568     }
569     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
570         case nx-action-pop-nsh-rpc-remove-flow-write-actions-case {
571             uses nx-action-pop-nsh-grouping;
572         }
573     }
574     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
575         case nx-action-conntrack-rpc-remove-flow-write-actions-case {
576             uses nx-action-conntrack-grouping;
577         }
578     }
579
580     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
581         case "nx-action-reg-load-rpc-remove-flow-apply-actions-case" {
582             uses nx-action-reg-load-grouping;
583         }
584     }
585     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
586         case "nx-action-reg-move-rpc-remove-flow-apply-actions-case" {
587             uses nx-action-reg-move-grouping;
588         }
589     }
590     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
591         case "nx-action-output-reg-rpc-remove-flow-apply-actions-case" {
592             uses nx-action-output-reg-grouping;
593         }
594     }
595     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
596         case nx-action-resubmit-rpc-remove-flow-apply-actions-case {
597             uses nx-action-resubmit-grouping;
598         }
599     }
600     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
601         case nx-action-multipath-rpc-remove-flow-apply-actions-case {
602             uses nx-action-multipath-grouping;
603         }
604     }
605     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
606         case nx-action-push-nsh-rpc-remove-flow-apply-actions-case {
607             uses nx-action-push-nsh-grouping;
608         }
609     }
610     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
611         case nx-action-pop-nsh-rpc-remove-flow-apply-actions-case {
612             uses nx-action-pop-nsh-grouping;
613         }
614     }
615     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
616         case nx-action-conntrack-rpc-remove-flow-apply-actions-case {
617             uses nx-action-conntrack-grouping;
618         }
619     }
620
621     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
622         case "nx-action-reg-load-rpc-update-flow-original-write-actions-case" {
623             uses nx-action-reg-load-grouping;
624         }
625     }
626     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
627         case "nx-action-reg-move-rpc-update-flow-original-write-actions-case" {
628             uses nx-action-reg-move-grouping;
629         }
630     }
631     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
632         case "nx-action-output-reg-rpc-update-flow-original-write-actions-case" {
633             uses nx-action-output-reg-grouping;
634         }
635     }
636     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
637         case "nx-action-resubmit-rpc-update-flow-original-write-actions-case" {
638             uses nx-action-resubmit-grouping;
639         }
640     }
641     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
642         case "nx-action-multipath-rpc-update-flow-original-write-actions-case" {
643             uses nx-action-multipath-grouping;
644         }
645     }
646     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
647         case "nx-action-push-nsh-rpc-update-flow-original-write-actions-case" {
648             uses nx-action-push-nsh-grouping;
649         }
650     }
651     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
652         case "nx-action-pop-nsh-rpc-update-flow-original-write-actions-case" {
653             uses nx-action-pop-nsh-grouping;
654         }
655     }
656     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
657         case "nx-action-conntrack-rpc-update-flow-original-write-actions-case" {
658             uses nx-action-conntrack-grouping;
659         }
660     }
661
662     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
663         case "nx-action-reg-load-rpc-update-flow-original-apply-actions-case" {
664             uses nx-action-reg-load-grouping;
665         }
666     }
667     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
668         case "nx-action-reg-move-rpc-update-flow-original-apply-actions-case" {
669             uses nx-action-reg-move-grouping;
670         }
671     }
672     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
673         case "nx-action-output-reg-rpc-update-flow-original-apply-actions-case" {
674             uses nx-action-output-reg-grouping;
675         }
676     }
677     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
678         case "nx-action-resubmit-rpc-update-flow-original-apply-actions-case" {
679             uses nx-action-resubmit-grouping;
680         }
681     }
682     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
683         case "nx-action-multipath-rpc-update-flow-original-apply-actions-case" {
684             uses nx-action-multipath-grouping;
685         }
686     }
687     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
688         case "nx-action-push-nsh-rpc-update-flow-original-apply-actions-case" {
689             uses nx-action-push-nsh-grouping;
690         }
691     }
692     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
693         case "nx-action-pop-nsh-rpc-update-flow-original-apply-actions-case" {
694             uses nx-action-pop-nsh-grouping;
695         }
696     }
697     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
698         case "nx-action-conntrack-rpc-update-flow-original-apply-actions-case" {
699             uses nx-action-conntrack-grouping;
700         }
701     }
702
703     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
704         case "nx-action-reg-load-rpc-update-flow-updated-write-actions-case" {
705             uses nx-action-reg-load-grouping;
706         }
707     }
708     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
709         case "nx-action-reg-move-rpc-update-flow-updated-write-actions-case" {
710             uses nx-action-reg-move-grouping;
711         }
712     }
713     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
714         case "nx-action-output-reg-rpc-update-flow-updated-write-actions-case" {
715             uses nx-action-output-reg-grouping;
716         }
717     }
718     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
719         case "nx-action-resubmit-rpc-update-flow-updated-write-actions-case" {
720             uses nx-action-resubmit-grouping;
721         }
722     }
723     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
724         case "nx-action-multipath-rpc-update-flow-updated-write-actions-case" {
725             uses nx-action-multipath-grouping;
726         }
727     }
728     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
729         case "nx-action-push-nsh-rpc-update-flow-updated-write-actions-case" {
730             uses nx-action-push-nsh-grouping;
731         }
732     }
733     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
734         case "nx-action-pop-nsh-rpc-update-flow-updated-write-actions-case" {
735             uses nx-action-pop-nsh-grouping;
736         }
737     }
738      augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
739         case "nx-action-conntrack-rpc-update-flow-updated-write-actions-case" {
740             uses nx-action-conntrack-grouping;
741         }
742     }
743
744     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
745         case "nx-action-reg-load-rpc-update-flow-updated-apply-actions-case" {
746             uses nx-action-reg-load-grouping;
747         }
748     }
749     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
750         case "nx-action-reg-move-rpc-update-flow-updated-apply-actions-case" {
751             uses nx-action-reg-move-grouping;
752         }
753     }
754     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
755         case "nx-action-output-reg-rpc-update-flow-updated-apply-actions-case" {
756             uses nx-action-output-reg-grouping;
757         }
758     }
759     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
760         case "nx-action-resubmit-rpc-update-flow-updated-apply-actions-case" {
761             uses nx-action-resubmit-grouping;
762         }
763     }
764     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
765         case "nx-action-multipath-rpc-update-flow-updated-apply-actions-case" {
766             uses nx-action-multipath-grouping;
767         }
768     }
769     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
770         case "nx-action-push-nsh-rpc-update-flow-updated-apply-actions-case" {
771             uses nx-action-push-nsh-grouping;
772         }
773     }
774     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
775         case "nx-action-pop-nsh-rpc-update-flow-updated-apply-actions-case" {
776             uses nx-action-pop-nsh-grouping;
777         }
778     }
779     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
780         case "nx-action-conntrack-rpc-update-flow-updated-apply-actions-case" {
781             uses nx-action-conntrack-grouping;
782         }
783     }
784
785     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
786         case "nx-action-reg-load-rpc-add-group-case" {
787             uses nx-action-reg-load-grouping;
788         }
789     }
790     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
791         case "nx-action-reg-move-rpc-add-group-case" {
792             uses nx-action-reg-move-grouping;
793         }
794     }
795     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
796         case "nx-action-output-reg-rpc-add-group-case" {
797             uses nx-action-output-reg-grouping;
798         }
799     }
800     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
801         case "nx-action-resubmit-rpc-add-group-case" {
802             uses nx-action-resubmit-grouping;
803         }
804     }
805     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
806         case "nx-action-multipath-rpc-add-group-case" {
807             uses nx-action-multipath-grouping;
808         }
809     }
810     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
811         case "nx-action-push-nsh-rpc-add-group-case" {
812             uses nx-action-push-nsh-grouping;
813         }
814     }
815     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
816         case "nx-action-pop-nsh-rpc-add-group-case" {
817             uses nx-action-pop-nsh-grouping;
818         }
819     }
820     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
821         case "nx-action-conntrack-rpc-add-group-case" {
822             uses nx-action-conntrack-grouping;
823         }
824     }
825
826     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
827         case "nx-action-reg-load-rpc-remove-group-case" {
828             uses nx-action-reg-load-grouping;
829         }
830     }
831     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
832         case "nx-action-reg-move-rpc-remove-group-case" {
833             uses nx-action-reg-move-grouping;
834         }
835     }
836     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
837         case "nx-action-output-reg-rpc-remove-group-case" {
838             uses nx-action-output-reg-grouping;
839         }
840     }
841     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
842         case "nx-action-resubmit-rpc-remove-group-case" {
843             uses nx-action-resubmit-grouping;
844         }
845     }
846     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
847         case "nx-action-multipath-rpc-remove-group-case" {
848             uses nx-action-multipath-grouping;
849         }
850     }
851     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
852         case "nx-action-push-nsh-rpc-remove-group-case" {
853             uses nx-action-push-nsh-grouping;
854         }
855     }
856     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
857         case "nx-action-pop-nsh-rpc-remove-group-case" {
858             uses nx-action-pop-nsh-grouping;
859         }
860     }
861     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
862         case "nx-action-conntrack-rpc-remove-group-case" {
863             uses nx-action-conntrack-grouping;
864         }
865     }
866
867     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
868         case "nx-action-reg-load-rpc-update-group-original-case" {
869             uses nx-action-reg-load-grouping;
870         }
871     }
872     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
873         case "nx-action-reg-move-rpc-update-group-original-case" {
874             uses nx-action-reg-move-grouping;
875         }
876     }
877     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
878         case "nx-action-output-reg-rpc-update-group-original-case" {
879             uses nx-action-output-reg-grouping;
880         }
881     }
882     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
883         case "nx-action-resubmit-rpc-update-group-original-case" {
884             uses nx-action-resubmit-grouping;
885         }
886     }
887     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
888         case "nx-action-multipath-rpc-update-group-original-case" {
889             uses nx-action-multipath-grouping;
890         }
891     }
892     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
893         case "nx-action-push-nsh-rpc-update-group-original-case" {
894             uses nx-action-push-nsh-grouping;
895         }
896     }
897     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
898         case "nx-action-pop-nsh-rpc-update-group-original-case" {
899             uses nx-action-pop-nsh-grouping;
900         }
901     }
902     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
903         case "nx-action-conntrack-rpc-update-group-original-case" {
904             uses nx-action-conntrack-grouping;
905         }
906     }
907
908     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
909         case "nx-action-reg-load-rpc-update-group-updated-case" {
910             uses nx-action-reg-load-grouping;
911         }
912     }
913     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
914         case "nx-action-reg-move-rpc-update-group-updated-case" {
915             uses nx-action-reg-move-grouping;
916         }
917     }
918     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
919         case "nx-action-output-reg-rpc-update-group-updated-case" {
920             uses nx-action-output-reg-grouping;
921         }
922     }
923     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
924         case "nx-action-resubmit-rpc-update-group-updated-case" {
925             uses nx-action-resubmit-grouping;
926         }
927     }
928     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
929         case "nx-action-multipath-rpc-update-group-updated-case" {
930             uses nx-action-multipath-grouping;
931         }
932     }
933     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
934         case "nx-action-push-nsh-rpc-update-group-updated-case" {
935             uses nx-action-push-nsh-grouping;
936         }
937     }
938     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
939         case "nx-action-pop-nsh-rpc-update-group-updated-case" {
940             uses nx-action-pop-nsh-grouping;
941         }
942     }
943     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
944         case "nx-action-conntrack-rpc-update-group-updated-case" {
945             uses nx-action-conntrack-grouping;
946         }
947     }
948
949     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
950         case "nx-action-reg-load-rpc-transmit-packet-case" {
951             uses nx-action-reg-load-grouping;
952         }
953     }
954     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
955         case "nx-action-reg-move-rpc-transmit-packet-case" {
956             uses nx-action-reg-move-grouping;
957         }
958     }
959     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
960         case "nx-action-output-reg-rpc-transmit-packet-case" {
961             uses nx-action-output-reg-grouping;
962         }
963     }
964     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
965         case "nx-action-resubmit-rpc-transmit-packet-case" {
966             uses nx-action-resubmit-grouping;
967         }
968     }
969     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
970         case "nx-action-multipath-rpc-transmit-packet-case" {
971             uses nx-action-multipath-grouping;
972         }
973     }
974     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
975         case "nx-action-push-nsh-rpc-transmit-packet-case" {
976             uses nx-action-push-nsh-grouping;
977         }
978     }
979     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
980         case "nx-action-pop-nsh-rpc-transmit-packet-case" {
981             uses nx-action-pop-nsh-grouping;
982         }
983     }
984     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
985         case "nx-action-conntrack-rpc-transmit-packet-case" {
986             uses nx-action-conntrack-grouping;
987         }
988     }
989
990     // DATA
991     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
992         case "nx-action-reg-load-nodes-node-table-flow-write-actions-case" {
993             uses nx-action-reg-load-grouping;
994         }
995     }
996     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
997         case "nx-action-reg-move-nodes-node-table-flow-write-actions-case" {
998             uses nx-action-reg-move-grouping;
999         }
1000     }
1001     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
1002         case "nx-action-output-reg-nodes-node-table-flow-write-actions-case" {
1003             uses nx-action-output-reg-grouping;
1004         }
1005     }
1006     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
1007         case "nx-action-resubmit-nodes-node-table-flow-write-actions-case" {
1008             uses nx-action-resubmit-grouping;
1009         }
1010     }
1011     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
1012         case "nx-action-multipath-nodes-node-table-flow-write-actions-case" {
1013             uses nx-action-multipath-grouping;
1014         }
1015     }
1016     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
1017         case "nx-action-push-nsh-nodes-node-table-flow-write-actions-case" {
1018             uses nx-action-push-nsh-grouping;
1019         }
1020     }
1021     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
1022         case "nx-action-pop-nsh-nodes-node-table-flow-write-actions-case" {
1023             uses nx-action-pop-nsh-grouping;
1024         }
1025     }
1026     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
1027         case "nx-action-conntrack-nodes-node-table-flow-write-actions-case" {
1028             uses nx-action-conntrack-grouping;
1029         }
1030     }
1031
1032     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1033         case "nx-action-reg-load-nodes-node-table-flow-apply-actions-case" {
1034             uses nx-action-reg-load-grouping;
1035         }
1036     }
1037     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1038         case "nx-action-reg-move-nodes-node-table-flow-apply-actions-case" {
1039             uses nx-action-reg-move-grouping;
1040         }
1041     }
1042     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1043         case "nx-action-output-reg-nodes-node-table-flow-apply-actions-case" {
1044             uses nx-action-output-reg-grouping;
1045         }
1046     }
1047     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1048         case "nx-action-resubmit-nodes-node-table-flow-apply-actions-case" {
1049             uses nx-action-resubmit-grouping;
1050         }
1051     }
1052     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1053         case "nx-action-multipath-nodes-node-table-flow-apply-actions-case" {
1054             uses nx-action-multipath-grouping;
1055         }
1056     }
1057     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1058         case "nx-action-push-nsh-nodes-node-table-flow-apply-actions-case" {
1059             uses nx-action-push-nsh-grouping;
1060         }
1061     }
1062     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1063         case "nx-action-pop-nsh-nodes-node-table-flow-apply-actions-case" {
1064             uses nx-action-pop-nsh-grouping;
1065         }
1066     }
1067     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
1068         case "nx-action-conntrack-nodes-node-table-flow-apply-actions-case" {
1069             uses nx-action-conntrack-grouping;
1070         }
1071     }
1072
1073     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1074         case "nx-action-reg-load-nodes-node-group-buckets-bucket-actions-case" {
1075             uses nx-action-reg-load-grouping;
1076         }
1077     }
1078     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1079         case "nx-action-reg-move-nodes-node-group-buckets-bucket-actions-case" {
1080             uses nx-action-reg-move-grouping;
1081         }
1082     }
1083     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1084         case "nx-action-output-reg-nodes-node-group-buckets-bucket-actions-case" {
1085             uses nx-action-output-reg-grouping;
1086         }
1087     }
1088     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1089         case "nx-action-resubmit-nodes-node-group-buckets-bucket-actions-case" {
1090             uses nx-action-resubmit-grouping;
1091         }
1092     }
1093     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1094         case "nx-action-multipath-nodes-node-group-buckets-bucket-actions-case" {
1095             uses nx-action-multipath-grouping;
1096         }
1097     }
1098     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1099         case "nx-action-push-nsh-nodes-node-group-buckets-bucket-actions-case" {
1100             uses nx-action-push-nsh-grouping;
1101         }
1102     }
1103     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1104         case "nx-action-pop-nsh-nodes-node-group-buckets-bucket-actions-case" {
1105             uses nx-action-pop-nsh-grouping;
1106         }
1107     }
1108     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1109         case "nx-action-conntrack-nodes-node-group-buckets-bucket-actions-case" {
1110             uses nx-action-conntrack-grouping;
1111         }
1112     }
1113
1114     // NOTIFICATIONS
1115     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1116         case "nx-action-reg-load-notif-flows-statistics-update-write-actions-case" {
1117             uses nx-action-reg-load-grouping;
1118         }
1119     }
1120     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1121         case "nx-action-reg-move-notif-flows-statistics-update-write-actions-case" {
1122             uses nx-action-reg-move-grouping;
1123         }
1124     }
1125     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1126         case "nx-action-output-reg-notif-flows-statistics-update-write-actions-case" {
1127             uses nx-action-output-reg-grouping;
1128         }
1129     }
1130     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1131         case "nx-action-resubmit-notif-flows-statistics-update-write-actions-case" {
1132             uses nx-action-resubmit-grouping;
1133         }
1134     }
1135     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1136         case "nx-action-multipath-notif-flows-statistics-update-write-actions-case" {
1137             uses nx-action-multipath-grouping;
1138         }
1139     }
1140     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1141         case "nx-action-push-nsh-notif-flows-statistics-update-write-actions-case" {
1142             uses nx-action-push-nsh-grouping;
1143         }
1144     }
1145     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1146         case "nx-action-pop-nsh-notif-flows-statistics-update-write-actions-case" {
1147             uses nx-action-pop-nsh-grouping;
1148         }
1149     }
1150     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
1151         case "nx-action-conntrack-notif-flows-statistics-update-write-actions-case" {
1152             uses nx-action-conntrack-grouping;
1153         }
1154     }
1155
1156     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1157         case "nx-action-reg-load-notif-flows-statistics-update-apply-actions-case" {
1158             uses nx-action-reg-load-grouping;
1159         }
1160     }
1161     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1162         case "nx-action-reg-move-notif-flows-statistics-update-apply-actions-case" {
1163             uses nx-action-reg-move-grouping;
1164         }
1165     }
1166     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1167         case "nx-action-output-reg-notif-flows-statistics-update-apply-actions-case" {
1168             uses nx-action-output-reg-grouping;
1169         }
1170     }
1171     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1172         case "nx-action-resubmit-notif-flows-statistics-update-apply-actions-case" {
1173             uses nx-action-resubmit-grouping;
1174         }
1175     }
1176     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1177         case "nx-action-multipath-notif-flows-statistics-update-apply-actions-case" {
1178             uses nx-action-multipath-grouping;
1179         }
1180     }
1181     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1182         case "nx-action-push-nsh-notif-flows-statistics-update-apply-actions-case" {
1183             uses nx-action-push-nsh-grouping;
1184         }
1185     }
1186     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1187         case "nx-action-pop-nsh-notif-flows-statistics-update-apply-actions-case" {
1188             uses nx-action-pop-nsh-grouping;
1189         }
1190     }
1191     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
1192         case "nx-action-conntrack-notif-flows-statistics-update-apply-actions-case" {
1193             uses nx-action-conntrack-grouping;
1194         }
1195     }
1196
1197     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1198         case "nx-action-reg-load-notif-group-desc-stats-updated-case" {
1199             uses nx-action-reg-load-grouping;
1200         }
1201     }
1202     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1203         case "nx-action-reg-move-notif-group-desc-stats-updated-case" {
1204             uses nx-action-reg-move-grouping;
1205         }
1206     }
1207     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1208         case "nx-action-output-reg-notif-group-desc-stats-updated-case" {
1209             uses nx-action-output-reg-grouping;
1210         }
1211     }
1212     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1213         case "nx-action-resubmit-notif-group-desc-stats-updated-case" {
1214             uses nx-action-resubmit-grouping;
1215         }
1216     }
1217     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1218         case "nx-action-multipath-notif-group-desc-stats-updated-case" {
1219             uses nx-action-multipath-grouping;
1220         }
1221     }
1222     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1223         case "nx-action-push-nsh-notif-group-desc-stats-updated-case" {
1224             uses nx-action-push-nsh-grouping;
1225         }
1226     }
1227     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1228         case "nx-action-pop-nsh-notif-group-desc-stats-updated-case" {
1229             uses nx-action-pop-nsh-grouping;
1230         }
1231     }
1232      augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
1233         case "nx-action-conntrack-notif-group-desc-stats-updated-case" {
1234             uses nx-action-conntrack-grouping;
1235         }
1236     }
1237 }