Bug 6110: Fixed bugs in statistics manager due to race condition.
[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 oxm-of-mpls-label-grouping {
57         leaf of-mpls-label {
58             type empty;
59         }
60     }
61     grouping nxm-of-arp-op-grouping {
62         leaf of-arp-op {
63             type empty;
64         }
65     }
66     grouping nxm-of-arp-spa-grouping {
67         leaf of-arp-spa {
68             type empty;
69         }
70     }
71     grouping nxm-of-arp-tpa-grouping {
72         leaf of-arp-tpa {
73             type empty;
74         }
75     }
76     grouping nxm-of-in-port-grouping {
77         leaf of-in-port {
78             type empty;
79         }
80     }
81     grouping nxm-nx-tun-ipv4-dst-grouping {
82         leaf nx-tun-ipv4-dst {
83             type empty;
84         }
85     }
86     grouping nxm-nx-tun-ipv4-src-grouping {
87         leaf nx-tun-ipv4-src {
88             type empty;
89         }
90     }
91     grouping nxm-of-eth-src-grouping {
92         leaf of-eth-src {
93             type empty;
94         }
95     }
96     grouping nxm-of-eth-dst-grouping {
97         leaf of-eth-dst {
98             type empty;
99         }
100     }
101     grouping nxm-of-eth-type-grouping {
102         leaf of-eth-type {
103             type empty;
104         }
105     }
106     grouping nxm-nx-nsp-grouping {
107         leaf nx-nsp-dst {
108             type empty;
109         }
110     }
111     grouping nxm-nx-nsi-grouping {
112         leaf nx-nsi-dst {
113             type empty;
114         }
115     }
116     grouping nxm-nx-nshc-1-grouping {
117         leaf nx-nshc-1-dst {
118             type empty;
119         }
120     }
121     grouping nxm-nx-nshc-2-grouping {
122         leaf nx-nshc-2-dst {
123             type empty;
124         }
125     }
126     grouping nxm-nx-nshc-3-grouping {
127         leaf nx-nshc-3-dst {
128             type empty;
129         }
130     }
131     grouping nxm-nx-nshc-4-grouping {
132         leaf nx-nshc-4-dst {
133             type empty;
134         }
135     }
136     grouping nxm-of-ip-src-grouping {
137         leaf of-ip-src {
138             type empty;
139         }
140     }
141     grouping nxm-of-ip-dst-grouping {
142         leaf of-ip-dst {
143             type empty;
144         }
145     }
146     grouping nxm-of-icmp-type-grouping {
147         leaf of-icmp-type {
148             type empty;
149         }
150     }
151     grouping nxm-nx-encap-eth-src-grouping {
152         leaf nx-encap-eth-src {
153             type empty;
154         }
155     }
156     grouping nxm-nx-encap-eth-dst-grouping {
157         leaf nx-encap-eth-dst {
158             type empty;
159         }
160     }
161     grouping nxm-nx-nsh-mdtype-grouping {
162         leaf nx-nsh-mdtype {
163             type empty;
164         }
165     }
166     grouping nxm-nx-nsh-np-grouping {
167         leaf nx-nsh-np {
168             type empty;
169         }
170     }
171     grouping nxm-nx-tun-gpe-np-grouping {
172         leaf nx-tun-gpe-np {
173             type empty;
174         }
175     }
176
177     grouping dst-choice-grouping {
178         choice dst-choice {
179             case dst-nx-reg-case {
180                 uses nxm-nx-reg-grouping;
181             }
182             case dst-nx-tun-id-case {
183                 uses nxm-nx-tun-id-grouping;
184             }
185             case dst-of-mpls-label-case {
186                  uses oxm-of-mpls-label-grouping;
187             }
188             case dst-nx-arp-sha-case {
189                 uses nxm-nx-arp-sha-grouping;
190             }
191             case dst-nx-arp-tha-case {
192                 uses nxm-nx-arp-tha-grouping;
193             }
194             case dst-of-arp-op-case {
195                 uses nxm-of-arp-op-grouping;
196             }
197             case dst-of-arp-spa-case {
198                 uses nxm-of-arp-spa-grouping;
199             }
200             case dst-of-arp-tpa-case {
201                 uses nxm-of-arp-tpa-grouping;
202             }
203             case dst-nx-of-in-port-case {
204                 uses nxm-of-in-port-grouping;
205             }
206             case dst-nx-tun-ipv4-dst-case {
207                 uses nxm-nx-tun-ipv4-dst-grouping;
208             }
209             case dst-nx-tun-ipv4-src-case {
210                 uses nxm-nx-tun-ipv4-src-grouping;
211             }
212             case dst-of-eth-src-case {
213                 uses nxm-of-eth-src-grouping;
214             }
215             case dst-of-eth-dst-case {
216                 uses nxm-of-eth-dst-grouping;
217             }
218             case dst-nx-nsp-case {
219                 uses nxm-nx-nsp-grouping;
220             }
221             case dst-nx-nsi-case {
222                 uses nxm-nx-nsi-grouping;
223             }
224             case dst-nx-nshc-1-case {
225                 uses nxm-nx-nshc-1-grouping;
226             }
227             case dst-nx-nshc-2-case {
228                 uses nxm-nx-nshc-2-grouping;
229             }
230             case dst-nx-nshc-3-case {
231                 uses nxm-nx-nshc-3-grouping;
232             }
233             case dst-nx-nshc-4-case {
234                 uses nxm-nx-nshc-4-grouping;
235             }
236             case dst-of-ip-src-case {
237                 uses nxm-of-ip-src-grouping;
238             }
239             case dst-of-ip-dst-case {
240                 uses nxm-of-ip-dst-grouping;
241             }
242             case dst-of-icmp-type-case {
243                 uses nxm-of-icmp-type-grouping;
244             }
245             case dst-nx-encap-eth-src-case {
246                 uses nxm-nx-encap-eth-src-grouping;
247             }
248             case dst-nx-encap-eth-dst-case {
249                 uses nxm-nx-encap-eth-dst-grouping;
250             }
251             case dst-nx-nsh-mdtype-case {
252                 uses nxm-nx-nsh-mdtype-grouping;
253             }
254             case dst-nx-nsh-np-case {
255                 uses nxm-nx-nsh-np-grouping;
256             }
257             case dst-nx-tun-gpe-np-case {
258                 uses nxm-nx-tun-gpe-np-grouping;
259             }
260         }
261     }
262
263     grouping src-choice-grouping {
264         choice src-choice {
265             case src-nx-reg-case {
266                 uses nxm-nx-reg-grouping;
267             }
268             case src-nx-tun-id-case {
269                 uses nxm-nx-tun-id-grouping;
270             }
271             case src-nx-of-mpls-label-case {
272                 uses oxm-of-mpls-label-grouping;
273             }
274             case src-nx-arp-sha-case {
275                 uses nxm-nx-arp-sha-grouping;
276             }
277             case src-nx-arp-tha-case {
278                 uses nxm-nx-arp-tha-grouping;
279             }
280             case src-of-arp-op-case {
281                 uses nxm-of-arp-op-grouping;
282             }
283             case src-of-arp-spa-case {
284                 uses nxm-of-arp-spa-grouping;
285             }
286             case src-of-arp-tpa-case {
287                 uses nxm-of-arp-tpa-grouping;
288             }
289             case src-nx-of-in-port-case {
290                 uses nxm-of-in-port-grouping;
291             }
292             case src-nx-tun-ipv4-dst-case {
293                 uses nxm-nx-tun-ipv4-dst-grouping;
294             }
295             case src-nx-tun-ipv4-src-case {
296                 uses nxm-nx-tun-ipv4-src-grouping;
297             }
298             case src-of-eth-src-case {
299                 uses nxm-of-eth-src-grouping;
300             }
301             case src-of-eth-dst-case {
302                 uses nxm-of-eth-dst-grouping;
303             }
304             case src-of-eth-type-case {
305                 uses nxm-of-eth-type-grouping;
306             }
307             case src-nx-nsp-case {
308                 uses nxm-nx-nsp-grouping;
309             }
310             case src-nx-nsi-case {
311                 uses nxm-nx-nsi-grouping;
312             }
313             case src-nx-nshc-1-case {
314                 uses nxm-nx-nshc-1-grouping;
315             }
316             case src-nx-nshc-2-case {
317                 uses nxm-nx-nshc-2-grouping;
318             }
319             case src-nx-nshc-3-case {
320                 uses nxm-nx-nshc-3-grouping;
321             }
322             case src-nx-nshc-4-case {
323                 uses nxm-nx-nshc-4-grouping;
324             }
325             case src-of-ip-src-case {
326                 uses nxm-of-ip-src-grouping;
327             }
328             case src-of-ip-dst-case {
329                 uses nxm-of-ip-dst-grouping;
330             }
331             case src-nx-encap-eth-src-case {
332                 uses nxm-nx-encap-eth-src-grouping;
333             }
334             case src-nx-encap-eth-dst-case {
335                 uses nxm-nx-encap-eth-dst-grouping;
336             }
337             case src-nx-nsh-mdtype-case {
338                 uses nxm-nx-nsh-mdtype-grouping;
339             }
340             case src-nx-nsh-np-case {
341                 uses nxm-nx-nsh-np-grouping;
342             }
343             case src-nx-tun-gpe-np-case {
344                 uses nxm-nx-tun-gpe-np-grouping;
345             }
346         }
347     }
348
349     grouping range-grouping {
350         leaf start {
351             description "Include value.";
352             type uint16;
353         }
354         leaf end {
355             description "Include value.";
356             type uint16;
357         }
358     }
359
360     grouping nx-action-reg-load-grouping {
361         container nx-reg-load {
362             container dst {
363                 description "Writes value to bits start through end, inclusive, in field dst.";
364                 uses dst-choice-grouping;
365                 uses range-grouping;
366             }
367             leaf value {
368                 type uint64;
369             }
370         }
371     }
372
373     grouping nx-action-reg-move-grouping {
374         container nx-reg-move {
375             container src {
376                 description "Writes value to bits start through end, inclusive, in field src.";
377                 uses src-choice-grouping;
378                 uses range-grouping;
379             }
380             container dst {
381                 description "Writes value to bits start through end, inclusive, in field dst.";
382                 uses dst-choice-grouping;
383                 uses range-grouping;
384             }
385         }
386     }
387     grouping nx-action-output-reg-grouping {
388         container nx-output-reg {
389             container src {
390                 description "Choose the register with the OpenFlow output port, using the number of
391 bits specified from the register.";
392                 uses src-choice-grouping;
393                 leaf ofs_nbits {
394                     type uint16;
395                 }
396             }
397             leaf max_len {
398                 description "The number of bytes to send when the chosen port is OFPP_CONTROLLER";
399                 type uint16;
400             }
401         }
402     }
403
404     grouping nx-action-resubmit-grouping {
405         container nx-resubmit {
406             description "Re-searches OpenFlow flow table (or the table whose number is specified by table)
407             with the in-port field replaced  by port (if port is specified) and executes the actions found";
408             leaf in-port {
409                 type uint16;
410                 default 0xfff8; // OFPP_INPORT
411             }
412             leaf table {
413                 type uint8 {
414                     range "0 .. 255";
415                 }
416                 default 255; // Current Table
417             }
418         }
419     }
420
421     grouping nx-action-fin-timeout-grouping {
422         container nx-action-fin-timeout {
423             leaf fin-idle-timeout {
424                 type uint16;
425             }
426             leaf fin-hard-timeout  {
427                 type uint16;
428             }
429         }
430     }
431
432     grouping nx-action-multipath-grouping {
433         container nx-multipath {
434             leaf fields {
435                 type nicira-action:ofj-nx-hash-fields;
436             }
437             leaf basis {
438                 type uint16;
439                 default 0x400;
440             }
441             leaf algorithm {
442                 type nicira-action:ofj-nx-mp-algorithm;
443             }
444             leaf max-link {
445                 type uint16;
446             }
447             leaf arg {
448                 type uint32;
449             }
450             container dst {
451                 description "Writes value to bits start through end, inclusive, in field dst.";
452                 uses dst-choice-grouping;
453                 uses range-grouping;
454             }
455         }
456     }
457
458     grouping nx-action-push-nsh-grouping {
459         container nx-push-nsh {
460             presence "no content action";
461             description "Push NSH header";
462         }
463     }
464     grouping nx-action-pop-nsh-grouping {
465         container nx-pop-nsh {
466             presence "no content action";
467             description "Pop NSH header";
468         }
469     }
470
471     grouping nx-action-conntrack-grouping {
472         container nx-conntrack {
473             leaf flags {
474                 type uint16;
475             }
476             leaf zone-src {
477                 type uint32;
478             }
479             leaf conntrack-zone {
480                 type uint16;
481             }
482             leaf recirc-table {
483                 type uint8;
484             }
485         }
486     }
487
488     grouping flow-mod-spec {
489         description
490            "flow mod spec indicates the actions that should be performed to create a new flow which was learned from learn action.";
491         choice flow-mod-spec{
492             case flow-mod-add-match-from-field-case{
493                 container flow-mod-add-match-from-field{
494                         leaf flow-mod-num-bits{
495                         type uint16;
496                     }
497
498                     leaf src-field{
499                         type uint32;
500                     }
501
502                     leaf src-ofs{
503                         type uint16;
504                     }
505
506                     leaf dst-field{
507                         type uint32;
508                     }
509
510                     leaf dst-ofs{
511                         type uint16;
512                     }
513                 }
514             }
515             case flow-mod-add-match-from-value-case{
516                 container flow-mod-add-match-from-value{
517                         leaf flow-mod-num-bits{
518                         type uint16;
519                     }
520
521                     leaf value{
522                         type uint16;
523                     }
524
525                     leaf src-field{
526                         type uint32;
527                     }
528
529                     leaf src-ofs{
530                         type uint16;
531                     }
532                 }
533             }
534             case flow-mod-copy-field-into-field-case{
535                 container flow-mod-copy-field-into-field{
536                         leaf flow-mod-num-bits{
537                         type uint16;
538                     }
539
540                     leaf src-field{
541                         type uint32;
542                     }
543
544                     leaf src-ofs{
545                         type uint16;
546                     }
547
548                     leaf dst-field{
549                         type uint32;
550                     }
551
552                     leaf dst-ofs{
553                         type uint16;
554                     }
555                 }
556             }
557             case flow-mod-copy-value-into-field-case{
558                 container flow-mod-copy-value-into-field{
559                         leaf flow-mod-num-bits{
560                         type uint16;
561                     }
562
563                     leaf value{
564                         type uint16;
565                     }
566
567                     leaf dst-field{
568                         type uint32;
569                     }
570
571                     leaf dst-ofs{
572                         type uint16;
573                     }
574                 }
575             }
576             case flow-mod-output-to-port-case{
577                 container flow-mod-output-to-port{
578                         leaf flow-mod-num-bits{
579                         type uint16;
580                     }
581
582                     leaf src-field{
583                         type uint32;
584                     }
585
586                     leaf src-ofs{
587                         type uint16;
588                     }
589                 }
590             }
591         }
592     }
593
594     grouping nx-action-learn-grouping {
595         container nx-learn {
596             leaf idle-timeout {
597                 type uint16;
598             }
599             leaf hard-timeout {
600                 type uint16;
601             }
602             leaf priority {
603                 type uint16;
604             }
605             leaf cookie {
606                 type uint64;
607             }
608             leaf flags {
609                 type uint16;
610             }
611             leaf table-id {
612                 type uint8;
613             }
614             leaf fin-idle-timeout {
615                 type uint16;
616             }
617             leaf fin-hard-timeout {
618                 type uint16;
619             }
620
621             list flow-mods{
622                 uses flow-mod-spec;
623             }
624         }
625     }
626
627
628     // ACTION augmentations
629     // RPCS
630     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" {
631         case nx-action-reg-load-rpc-add-flow-write-actions-case {
632             uses nx-action-reg-load-grouping;
633         }
634     }
635     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" {
636         case nx-action-reg-move-rpc-add-flow-write-actions-case {
637             uses nx-action-reg-move-grouping;
638         }
639     }
640     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" {
641         case nx-action-output-reg-rpc-add-flow-write-actions-case {
642             uses nx-action-output-reg-grouping;
643         }
644     }
645     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" {
646         case nx-action-resubmit-rpc-add-flow-write-actions-case {
647             uses nx-action-resubmit-grouping;
648         }
649     }
650     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" {
651         case nx-action-fin-timeout-rpc-add-flow-write-actions-case {
652             uses nx-action-fin-timeout-grouping;
653         }
654     }
655     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" {
656         case nx-action-multipath-rpc-add-flow-write-actions-case {
657             uses nx-action-multipath-grouping;
658         }
659     }
660     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" {
661         case nx-action-push-nsh-rpc-add-flow-write-actions-case {
662             uses nx-action-push-nsh-grouping;
663         }
664     }
665     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" {
666         case nx-action-pop-nsh-rpc-add-flow-write-actions-case {
667             uses nx-action-pop-nsh-grouping;
668         }
669     }
670     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" {
671         case nx-action-conntrack-rpc-add-flow-write-actions-case {
672             uses nx-action-conntrack-grouping;
673         }
674     }
675     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" {
676         case nx-action-learn-rpc-add-flow-write-actions-case {
677             uses nx-action-learn-grouping;
678         }
679     }
680
681     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" {
682         case nx-action-reg-load-rpc-add-flow-apply-actions-case {
683             uses nx-action-reg-load-grouping;
684         }
685     }
686     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" {
687         case nx-action-reg-move-rpc-add-flow-apply-actions-case {
688             uses nx-action-reg-move-grouping;
689         }
690     }
691     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" {
692         case nx-action-output-reg-rpc-add-flow-apply-actions-case {
693             uses nx-action-output-reg-grouping;
694         }
695     }
696     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" {
697         case nx-action-resubmit-rpc-add-flow-apply-actions-case {
698             uses nx-action-resubmit-grouping;
699         }
700     }
701     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" {
702         case nx-action-fin-timeout-rpc-add-flow-apply-actions-case {
703             uses nx-action-fin-timeout-grouping;
704         }
705     }
706     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" {
707         case nx-action-multipath-rpc-add-flow-apply-actions-case {
708             uses nx-action-multipath-grouping;
709         }
710     }
711     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" {
712         case nx-action-push-nsh-rpc-add-flow-apply-actions-case {
713             uses nx-action-push-nsh-grouping;
714         }
715     }
716     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" {
717         case nx-action-pop-nsh-rpc-add-flow-apply-actions-case {
718             uses nx-action-pop-nsh-grouping;
719         }
720     }
721
722     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" {
723         case nx-action-conntrack-rpc-add-flow-apply-actions-case {
724             uses nx-action-conntrack-grouping;
725         }
726     }
727     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" {
728         case nx-action-learn-rpc-add-flow-apply-actions-case {
729             uses nx-action-learn-grouping;
730         }
731     }
732
733     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" {
734         case "nx-action-reg-load-rpc-remove-flow-write-actions-case" {
735             uses nx-action-reg-load-grouping;
736         }
737     }
738     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" {
739         case "nx-action-reg-move-rpc-remove-flow-write-actions-case" {
740             uses nx-action-reg-move-grouping;
741         }
742     }
743     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" {
744         case "nx-action-output-reg-rpc-remove-flow-write-actions-case" {
745             uses nx-action-output-reg-grouping;
746         }
747     }
748     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" {
749         case nx-action-resubmit-rpc-remove-flow-write-actions-case {
750             uses nx-action-resubmit-grouping;
751         }
752     }
753     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" {
754         case nx-action-fin-timeout-rpc-remove-flow-write-actions-case {
755             uses nx-action-fin-timeout-grouping;
756         }
757     }
758     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" {
759         case nx-action-multipath-rpc-remove-flow-write-actions-case {
760             uses nx-action-multipath-grouping;
761         }
762     }
763     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" {
764         case nx-action-push-nsh-rpc-remove-flow-write-actions-case {
765             uses nx-action-push-nsh-grouping;
766         }
767     }
768     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" {
769         case nx-action-pop-nsh-rpc-remove-flow-write-actions-case {
770             uses nx-action-pop-nsh-grouping;
771         }
772     }
773     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" {
774         case nx-action-conntrack-rpc-remove-flow-write-actions-case {
775             uses nx-action-conntrack-grouping;
776         }
777     }
778     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" {
779         case nx-action-learn-rpc-remove-flow-write-actions-case {
780             uses nx-action-learn-grouping;
781         }
782     }
783
784     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" {
785         case "nx-action-reg-load-rpc-remove-flow-apply-actions-case" {
786             uses nx-action-reg-load-grouping;
787         }
788     }
789     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" {
790         case "nx-action-reg-move-rpc-remove-flow-apply-actions-case" {
791             uses nx-action-reg-move-grouping;
792         }
793     }
794     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" {
795         case "nx-action-output-reg-rpc-remove-flow-apply-actions-case" {
796             uses nx-action-output-reg-grouping;
797         }
798     }
799     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" {
800         case nx-action-resubmit-rpc-remove-flow-apply-actions-case {
801             uses nx-action-resubmit-grouping;
802         }
803     }
804     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" {
805         case nx-action-fin-timeout-rpc-remove-flow-apply-actions-case {
806             uses nx-action-fin-timeout-grouping;
807         }
808     }
809     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" {
810         case nx-action-multipath-rpc-remove-flow-apply-actions-case {
811             uses nx-action-multipath-grouping;
812         }
813     }
814     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" {
815         case nx-action-push-nsh-rpc-remove-flow-apply-actions-case {
816             uses nx-action-push-nsh-grouping;
817         }
818     }
819     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" {
820         case nx-action-pop-nsh-rpc-remove-flow-apply-actions-case {
821             uses nx-action-pop-nsh-grouping;
822         }
823     }
824     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" {
825         case nx-action-conntrack-rpc-remove-flow-apply-actions-case {
826             uses nx-action-conntrack-grouping;
827         }
828     }
829     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" {
830         case nx-action-learn-rpc-remove-flow-apply-actions-case {
831             uses nx-action-learn-grouping;
832         }
833     }
834
835     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" {
836         case "nx-action-reg-load-rpc-update-flow-original-write-actions-case" {
837             uses nx-action-reg-load-grouping;
838         }
839     }
840     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" {
841         case "nx-action-reg-move-rpc-update-flow-original-write-actions-case" {
842             uses nx-action-reg-move-grouping;
843         }
844     }
845     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" {
846         case "nx-action-output-reg-rpc-update-flow-original-write-actions-case" {
847             uses nx-action-output-reg-grouping;
848         }
849     }
850     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" {
851         case "nx-action-resubmit-rpc-update-flow-original-write-actions-case" {
852             uses nx-action-resubmit-grouping;
853         }
854     }
855     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" {
856         case "nx-action-fin-timeout-rpc-update-flow-original-write-actions-case" {
857             uses nx-action-fin-timeout-grouping;
858         }
859     }
860     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" {
861         case "nx-action-multipath-rpc-update-flow-original-write-actions-case" {
862             uses nx-action-multipath-grouping;
863         }
864     }
865     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" {
866         case "nx-action-push-nsh-rpc-update-flow-original-write-actions-case" {
867             uses nx-action-push-nsh-grouping;
868         }
869     }
870     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" {
871         case "nx-action-pop-nsh-rpc-update-flow-original-write-actions-case" {
872             uses nx-action-pop-nsh-grouping;
873         }
874     }
875     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" {
876         case "nx-action-conntrack-rpc-update-flow-original-write-actions-case" {
877             uses nx-action-conntrack-grouping;
878         }
879     }
880     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" {
881         case "nx-action-learn-rpc-update-flow-original-write-actions-case" {
882             uses nx-action-learn-grouping;
883         }
884     }
885
886     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" {
887         case "nx-action-reg-load-rpc-update-flow-original-apply-actions-case" {
888             uses nx-action-reg-load-grouping;
889         }
890     }
891     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" {
892         case "nx-action-reg-move-rpc-update-flow-original-apply-actions-case" {
893             uses nx-action-reg-move-grouping;
894         }
895     }
896     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" {
897         case "nx-action-output-reg-rpc-update-flow-original-apply-actions-case" {
898             uses nx-action-output-reg-grouping;
899         }
900     }
901     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" {
902         case "nx-action-resubmit-rpc-update-flow-original-apply-actions-case" {
903             uses nx-action-resubmit-grouping;
904         }
905     }
906     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" {
907         case "nx-action-fin-timeout-rpc-update-flow-original-apply-actions-case" {
908             uses nx-action-fin-timeout-grouping;
909         }
910     }
911     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" {
912         case "nx-action-multipath-rpc-update-flow-original-apply-actions-case" {
913             uses nx-action-multipath-grouping;
914         }
915     }
916     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" {
917         case "nx-action-push-nsh-rpc-update-flow-original-apply-actions-case" {
918             uses nx-action-push-nsh-grouping;
919         }
920     }
921     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" {
922         case "nx-action-pop-nsh-rpc-update-flow-original-apply-actions-case" {
923             uses nx-action-pop-nsh-grouping;
924         }
925     }
926     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" {
927         case "nx-action-conntrack-rpc-update-flow-original-apply-actions-case" {
928             uses nx-action-conntrack-grouping;
929         }
930     }
931     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" {
932         case "nx-action-learn-rpc-update-flow-original-apply-actions-case" {
933             uses nx-action-learn-grouping;
934         }
935     }
936
937     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" {
938         case "nx-action-reg-load-rpc-update-flow-updated-write-actions-case" {
939             uses nx-action-reg-load-grouping;
940         }
941     }
942     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" {
943         case "nx-action-reg-move-rpc-update-flow-updated-write-actions-case" {
944             uses nx-action-reg-move-grouping;
945         }
946     }
947     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" {
948         case "nx-action-output-reg-rpc-update-flow-updated-write-actions-case" {
949             uses nx-action-output-reg-grouping;
950         }
951     }
952     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" {
953         case "nx-action-resubmit-rpc-update-flow-updated-write-actions-case" {
954             uses nx-action-resubmit-grouping;
955         }
956     }
957     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" {
958         case "nx-action-fin-timeout-rpc-update-flow-updated-write-actions-case" {
959             uses nx-action-fin-timeout-grouping;
960         }
961     }
962     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" {
963         case "nx-action-multipath-rpc-update-flow-updated-write-actions-case" {
964             uses nx-action-multipath-grouping;
965         }
966     }
967     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" {
968         case "nx-action-push-nsh-rpc-update-flow-updated-write-actions-case" {
969             uses nx-action-push-nsh-grouping;
970         }
971     }
972     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" {
973         case "nx-action-pop-nsh-rpc-update-flow-updated-write-actions-case" {
974             uses nx-action-pop-nsh-grouping;
975         }
976     }
977     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" {
978         case "nx-action-conntrack-rpc-update-flow-updated-write-actions-case" {
979             uses nx-action-conntrack-grouping;
980         }
981     }
982     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" {
983         case "nx-action-learn-rpc-update-flow-updated-write-actions-case" {
984             uses nx-action-learn-grouping;
985         }
986     }
987
988     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" {
989         case "nx-action-reg-load-rpc-update-flow-updated-apply-actions-case" {
990             uses nx-action-reg-load-grouping;
991         }
992     }
993     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" {
994         case "nx-action-reg-move-rpc-update-flow-updated-apply-actions-case" {
995             uses nx-action-reg-move-grouping;
996         }
997     }
998     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" {
999         case "nx-action-output-reg-rpc-update-flow-updated-apply-actions-case" {
1000             uses nx-action-output-reg-grouping;
1001         }
1002     }
1003     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" {
1004         case "nx-action-resubmit-rpc-update-flow-updated-apply-actions-case" {
1005             uses nx-action-resubmit-grouping;
1006         }
1007     }
1008     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" {
1009         case "nx-action-fin-timeout-rpc-update-flow-updated-apply-actions-case" {
1010             uses nx-action-fin-timeout-grouping;
1011         }
1012     }
1013     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" {
1014         case "nx-action-multipath-rpc-update-flow-updated-apply-actions-case" {
1015             uses nx-action-multipath-grouping;
1016         }
1017     }
1018     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" {
1019         case "nx-action-push-nsh-rpc-update-flow-updated-apply-actions-case" {
1020             uses nx-action-push-nsh-grouping;
1021         }
1022     }
1023     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" {
1024         case "nx-action-pop-nsh-rpc-update-flow-updated-apply-actions-case" {
1025             uses nx-action-pop-nsh-grouping;
1026         }
1027     }
1028     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" {
1029         case "nx-action-conntrack-rpc-update-flow-updated-apply-actions-case" {
1030             uses nx-action-conntrack-grouping;
1031         }
1032     }
1033     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" {
1034         case "nx-action-learn-rpc-update-flow-updated-apply-actions-case" {
1035             uses nx-action-learn-grouping;
1036         }
1037     }
1038
1039     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1040         case "nx-action-reg-load-rpc-add-group-case" {
1041             uses nx-action-reg-load-grouping;
1042         }
1043     }
1044     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1045         case "nx-action-reg-move-rpc-add-group-case" {
1046             uses nx-action-reg-move-grouping;
1047         }
1048     }
1049     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1050         case "nx-action-output-reg-rpc-add-group-case" {
1051             uses nx-action-output-reg-grouping;
1052         }
1053     }
1054     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1055         case "nx-action-resubmit-rpc-add-group-case" {
1056             uses nx-action-resubmit-grouping;
1057         }
1058     }
1059     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1060         case "nx-action-fin-timeout-rpc-add-group-case" {
1061             uses nx-action-fin-timeout-grouping;
1062         }
1063     }
1064     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1065         case "nx-action-multipath-rpc-add-group-case" {
1066             uses nx-action-multipath-grouping;
1067         }
1068     }
1069     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1070         case "nx-action-push-nsh-rpc-add-group-case" {
1071             uses nx-action-push-nsh-grouping;
1072         }
1073     }
1074     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1075         case "nx-action-pop-nsh-rpc-add-group-case" {
1076             uses nx-action-pop-nsh-grouping;
1077         }
1078     }
1079     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1080         case "nx-action-conntrack-rpc-add-group-case" {
1081             uses nx-action-conntrack-grouping;
1082         }
1083     }
1084     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1085         case "nx-action-learn-rpc-add-group-case" {
1086             uses nx-action-learn-grouping;
1087         }
1088     }
1089
1090     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1091         case "nx-action-reg-load-rpc-remove-group-case" {
1092             uses nx-action-reg-load-grouping;
1093         }
1094     }
1095     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1096         case "nx-action-reg-move-rpc-remove-group-case" {
1097             uses nx-action-reg-move-grouping;
1098         }
1099     }
1100     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1101         case "nx-action-output-reg-rpc-remove-group-case" {
1102             uses nx-action-output-reg-grouping;
1103         }
1104     }
1105     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1106         case "nx-action-resubmit-rpc-remove-group-case" {
1107             uses nx-action-resubmit-grouping;
1108         }
1109     }
1110     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1111         case "nx-action-fin-timeout-rpc-remove-group-case" {
1112             uses nx-action-fin-timeout-grouping;
1113         }
1114     }
1115     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1116         case "nx-action-multipath-rpc-remove-group-case" {
1117             uses nx-action-multipath-grouping;
1118         }
1119     }
1120     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1121         case "nx-action-push-nsh-rpc-remove-group-case" {
1122             uses nx-action-push-nsh-grouping;
1123         }
1124     }
1125     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1126         case "nx-action-pop-nsh-rpc-remove-group-case" {
1127             uses nx-action-pop-nsh-grouping;
1128         }
1129     }
1130     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1131         case "nx-action-conntrack-rpc-remove-group-case" {
1132             uses nx-action-conntrack-grouping;
1133         }
1134     }
1135     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1136         case "nx-action-learn-rpc-remove-group-case" {
1137             uses nx-action-learn-grouping;
1138         }
1139     }
1140
1141     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1142         case "nx-action-reg-load-rpc-update-group-original-case" {
1143             uses nx-action-reg-load-grouping;
1144         }
1145     }
1146     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1147         case "nx-action-reg-move-rpc-update-group-original-case" {
1148             uses nx-action-reg-move-grouping;
1149         }
1150     }
1151     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1152         case "nx-action-output-reg-rpc-update-group-original-case" {
1153             uses nx-action-output-reg-grouping;
1154         }
1155     }
1156     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1157         case "nx-action-resubmit-rpc-update-group-original-case" {
1158             uses nx-action-resubmit-grouping;
1159         }
1160     }
1161     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1162         case "nx-action-fin-timeout-rpc-update-group-original-case" {
1163             uses nx-action-fin-timeout-grouping;
1164         }
1165     }
1166     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1167         case "nx-action-multipath-rpc-update-group-original-case" {
1168             uses nx-action-multipath-grouping;
1169         }
1170     }
1171     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1172         case "nx-action-push-nsh-rpc-update-group-original-case" {
1173             uses nx-action-push-nsh-grouping;
1174         }
1175     }
1176     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1177         case "nx-action-pop-nsh-rpc-update-group-original-case" {
1178             uses nx-action-pop-nsh-grouping;
1179         }
1180     }
1181     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1182         case "nx-action-conntrack-rpc-update-group-original-case" {
1183             uses nx-action-conntrack-grouping;
1184         }
1185     }
1186     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1187         case "nx-action-learn-rpc-update-group-original-case" {
1188             uses nx-action-learn-grouping;
1189         }
1190     }
1191
1192     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1193         case "nx-action-reg-load-rpc-update-group-updated-case" {
1194             uses nx-action-reg-load-grouping;
1195         }
1196     }
1197     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1198         case "nx-action-reg-move-rpc-update-group-updated-case" {
1199             uses nx-action-reg-move-grouping;
1200         }
1201     }
1202     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1203         case "nx-action-output-reg-rpc-update-group-updated-case" {
1204             uses nx-action-output-reg-grouping;
1205         }
1206     }
1207     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1208         case "nx-action-resubmit-rpc-update-group-updated-case" {
1209             uses nx-action-resubmit-grouping;
1210         }
1211     }
1212     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1213         case "nx-action-fin-timeout-rpc-update-group-updated-case" {
1214             uses nx-action-fin-timeout-grouping;
1215         }
1216     }
1217     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1218         case "nx-action-multipath-rpc-update-group-updated-case" {
1219             uses nx-action-multipath-grouping;
1220         }
1221     }
1222     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1223         case "nx-action-push-nsh-rpc-update-group-updated-case" {
1224             uses nx-action-push-nsh-grouping;
1225         }
1226     }
1227     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1228         case "nx-action-pop-nsh-rpc-update-group-updated-case" {
1229             uses nx-action-pop-nsh-grouping;
1230         }
1231     }
1232     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1233         case "nx-action-conntrack-rpc-update-group-updated-case" {
1234             uses nx-action-conntrack-grouping;
1235         }
1236     }
1237     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
1238         case "nx-action-learn-rpc-update-group-updated-case" {
1239             uses nx-action-learn-grouping;
1240         }
1241     }
1242
1243     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1244         case "nx-action-reg-load-rpc-transmit-packet-case" {
1245             uses nx-action-reg-load-grouping;
1246         }
1247     }
1248     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1249         case "nx-action-reg-move-rpc-transmit-packet-case" {
1250             uses nx-action-reg-move-grouping;
1251         }
1252     }
1253     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1254         case "nx-action-output-reg-rpc-transmit-packet-case" {
1255             uses nx-action-output-reg-grouping;
1256         }
1257     }
1258     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1259         case "nx-action-resubmit-rpc-transmit-packet-case" {
1260             uses nx-action-resubmit-grouping;
1261         }
1262     }
1263     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1264         case "nx-action-fin-timeout-rpc-transmit-packet-case" {
1265             uses nx-action-fin-timeout-grouping;
1266         }
1267     }
1268     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1269         case "nx-action-multipath-rpc-transmit-packet-case" {
1270             uses nx-action-multipath-grouping;
1271         }
1272     }
1273     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1274         case "nx-action-push-nsh-rpc-transmit-packet-case" {
1275             uses nx-action-push-nsh-grouping;
1276         }
1277     }
1278     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1279         case "nx-action-pop-nsh-rpc-transmit-packet-case" {
1280             uses nx-action-pop-nsh-grouping;
1281         }
1282     }
1283     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1284         case "nx-action-conntrack-rpc-transmit-packet-case" {
1285             uses nx-action-conntrack-grouping;
1286         }
1287     }
1288     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
1289         case "nx-action-learn-rpc-transmit-packet-case" {
1290             uses nx-action-learn-grouping;
1291         }
1292     }
1293
1294     // DATA
1295     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" {
1296         case "nx-action-reg-load-nodes-node-table-flow-write-actions-case" {
1297             uses nx-action-reg-load-grouping;
1298         }
1299     }
1300     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" {
1301         case "nx-action-reg-move-nodes-node-table-flow-write-actions-case" {
1302             uses nx-action-reg-move-grouping;
1303         }
1304     }
1305     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" {
1306         case "nx-action-output-reg-nodes-node-table-flow-write-actions-case" {
1307             uses nx-action-output-reg-grouping;
1308         }
1309     }
1310     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" {
1311         case "nx-action-resubmit-nodes-node-table-flow-write-actions-case" {
1312             uses nx-action-resubmit-grouping;
1313         }
1314     }
1315     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" {
1316         case "nx-action-fin-timeout-nodes-node-table-flow-write-actions-case" {
1317             uses nx-action-fin-timeout-grouping;
1318         }
1319     }
1320     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" {
1321         case "nx-action-multipath-nodes-node-table-flow-write-actions-case" {
1322             uses nx-action-multipath-grouping;
1323         }
1324     }
1325     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" {
1326         case "nx-action-push-nsh-nodes-node-table-flow-write-actions-case" {
1327             uses nx-action-push-nsh-grouping;
1328         }
1329     }
1330     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" {
1331         case "nx-action-pop-nsh-nodes-node-table-flow-write-actions-case" {
1332             uses nx-action-pop-nsh-grouping;
1333         }
1334     }
1335     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" {
1336         case "nx-action-conntrack-nodes-node-table-flow-write-actions-case" {
1337             uses nx-action-conntrack-grouping;
1338         }
1339     }
1340     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" {
1341         case "nx-action-learn-nodes-node-table-flow-write-actions-case" {
1342             uses nx-action-learn-grouping;
1343         }
1344     }
1345
1346     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" {
1347         case "nx-action-reg-load-nodes-node-table-flow-apply-actions-case" {
1348             uses nx-action-reg-load-grouping;
1349         }
1350     }
1351     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" {
1352         case "nx-action-reg-move-nodes-node-table-flow-apply-actions-case" {
1353             uses nx-action-reg-move-grouping;
1354         }
1355     }
1356     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" {
1357         case "nx-action-output-reg-nodes-node-table-flow-apply-actions-case" {
1358             uses nx-action-output-reg-grouping;
1359         }
1360     }
1361     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" {
1362         case "nx-action-resubmit-nodes-node-table-flow-apply-actions-case" {
1363             uses nx-action-resubmit-grouping;
1364         }
1365     }
1366     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" {
1367         case "nx-action-fin-timeout-nodes-node-table-flow-apply-actions-case" {
1368             uses nx-action-fin-timeout-grouping;
1369         }
1370     }
1371     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" {
1372         case "nx-action-multipath-nodes-node-table-flow-apply-actions-case" {
1373             uses nx-action-multipath-grouping;
1374         }
1375     }
1376     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" {
1377         case "nx-action-push-nsh-nodes-node-table-flow-apply-actions-case" {
1378             uses nx-action-push-nsh-grouping;
1379         }
1380     }
1381     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" {
1382         case "nx-action-pop-nsh-nodes-node-table-flow-apply-actions-case" {
1383             uses nx-action-pop-nsh-grouping;
1384         }
1385     }
1386     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" {
1387         case "nx-action-conntrack-nodes-node-table-flow-apply-actions-case" {
1388             uses nx-action-conntrack-grouping;
1389         }
1390     }
1391     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" {
1392         case "nx-action-learn-nodes-node-table-flow-apply-actions-case" {
1393             uses nx-action-learn-grouping;
1394         }
1395     }
1396
1397     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1398         case "nx-action-reg-load-nodes-node-group-buckets-bucket-actions-case" {
1399             uses nx-action-reg-load-grouping;
1400         }
1401     }
1402     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1403         case "nx-action-reg-move-nodes-node-group-buckets-bucket-actions-case" {
1404             uses nx-action-reg-move-grouping;
1405         }
1406     }
1407     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1408         case "nx-action-output-reg-nodes-node-group-buckets-bucket-actions-case" {
1409             uses nx-action-output-reg-grouping;
1410         }
1411     }
1412     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1413         case "nx-action-resubmit-nodes-node-group-buckets-bucket-actions-case" {
1414             uses nx-action-resubmit-grouping;
1415         }
1416     }
1417     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1418         case "nx-action-fin-timeout-nodes-node-group-buckets-bucket-actions-case" {
1419             uses nx-action-fin-timeout-grouping;
1420         }
1421     }
1422     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1423         case "nx-action-multipath-nodes-node-group-buckets-bucket-actions-case" {
1424             uses nx-action-multipath-grouping;
1425         }
1426     }
1427     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1428         case "nx-action-push-nsh-nodes-node-group-buckets-bucket-actions-case" {
1429             uses nx-action-push-nsh-grouping;
1430         }
1431     }
1432     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1433         case "nx-action-pop-nsh-nodes-node-group-buckets-bucket-actions-case" {
1434             uses nx-action-pop-nsh-grouping;
1435         }
1436     }
1437     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1438         case "nx-action-conntrack-nodes-node-group-buckets-bucket-actions-case" {
1439             uses nx-action-conntrack-grouping;
1440         }
1441     }
1442     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
1443         case "nx-action-learn-nodes-node-group-buckets-bucket-actions-case" {
1444             uses nx-action-learn-grouping;
1445         }
1446     }
1447
1448     // NOTIFICATIONS
1449     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" {
1450         case "nx-action-reg-load-notif-flows-statistics-update-write-actions-case" {
1451             uses nx-action-reg-load-grouping;
1452         }
1453     }
1454     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" {
1455         case "nx-action-reg-move-notif-flows-statistics-update-write-actions-case" {
1456             uses nx-action-reg-move-grouping;
1457         }
1458     }
1459     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" {
1460         case "nx-action-output-reg-notif-flows-statistics-update-write-actions-case" {
1461             uses nx-action-output-reg-grouping;
1462         }
1463     }
1464     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" {
1465         case "nx-action-resubmit-notif-flows-statistics-update-write-actions-case" {
1466             uses nx-action-resubmit-grouping;
1467         }
1468     }
1469     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" {
1470         case "nx-action-fin-timeout-notif-flows-statistics-update-write-actions-case" {
1471             uses nx-action-fin-timeout-grouping;
1472         }
1473     }
1474     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" {
1475         case "nx-action-multipath-notif-flows-statistics-update-write-actions-case" {
1476             uses nx-action-multipath-grouping;
1477         }
1478     }
1479     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" {
1480         case "nx-action-push-nsh-notif-flows-statistics-update-write-actions-case" {
1481             uses nx-action-push-nsh-grouping;
1482         }
1483     }
1484     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" {
1485         case "nx-action-pop-nsh-notif-flows-statistics-update-write-actions-case" {
1486             uses nx-action-pop-nsh-grouping;
1487         }
1488     }
1489     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" {
1490         case "nx-action-conntrack-notif-flows-statistics-update-write-actions-case" {
1491             uses nx-action-conntrack-grouping;
1492         }
1493     }
1494     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" {
1495         case "nx-action-learn-notif-flows-statistics-update-write-actions-case" {
1496             uses nx-action-learn-grouping;
1497         }
1498     }
1499
1500     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" {
1501         case "nx-action-reg-load-notif-flows-statistics-update-apply-actions-case" {
1502             uses nx-action-reg-load-grouping;
1503         }
1504     }
1505     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" {
1506         case "nx-action-reg-move-notif-flows-statistics-update-apply-actions-case" {
1507             uses nx-action-reg-move-grouping;
1508         }
1509     }
1510     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" {
1511         case "nx-action-output-reg-notif-flows-statistics-update-apply-actions-case" {
1512             uses nx-action-output-reg-grouping;
1513         }
1514     }
1515     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" {
1516         case "nx-action-resubmit-notif-flows-statistics-update-apply-actions-case" {
1517             uses nx-action-resubmit-grouping;
1518         }
1519     }
1520     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" {
1521         case "nx-action-fin-timeout-notif-flows-statistics-update-apply-actions-case" {
1522             uses nx-action-fin-timeout-grouping;
1523         }
1524     }
1525     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" {
1526         case "nx-action-multipath-notif-flows-statistics-update-apply-actions-case" {
1527             uses nx-action-multipath-grouping;
1528         }
1529     }
1530     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" {
1531         case "nx-action-push-nsh-notif-flows-statistics-update-apply-actions-case" {
1532             uses nx-action-push-nsh-grouping;
1533         }
1534     }
1535     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" {
1536         case "nx-action-pop-nsh-notif-flows-statistics-update-apply-actions-case" {
1537             uses nx-action-pop-nsh-grouping;
1538         }
1539     }
1540     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" {
1541         case "nx-action-conntrack-notif-flows-statistics-update-apply-actions-case" {
1542             uses nx-action-conntrack-grouping;
1543         }
1544     }
1545     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" {
1546         case "nx-action-learn-notif-flows-statistics-update-apply-actions-case" {
1547             uses nx-action-learn-grouping;
1548         }
1549     }
1550
1551     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" {
1552         case "nx-action-reg-load-notif-group-desc-stats-updated-case" {
1553             uses nx-action-reg-load-grouping;
1554         }
1555     }
1556     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" {
1557         case "nx-action-reg-move-notif-group-desc-stats-updated-case" {
1558             uses nx-action-reg-move-grouping;
1559         }
1560     }
1561     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" {
1562         case "nx-action-output-reg-notif-group-desc-stats-updated-case" {
1563             uses nx-action-output-reg-grouping;
1564         }
1565     }
1566     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" {
1567         case "nx-action-resubmit-notif-group-desc-stats-updated-case" {
1568             uses nx-action-resubmit-grouping;
1569         }
1570     }
1571     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" {
1572         case "nx-action-fin-timeout-notif-group-desc-stats-updated-case" {
1573             uses nx-action-fin-timeout-grouping;
1574         }
1575     }
1576     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" {
1577         case "nx-action-multipath-notif-group-desc-stats-updated-case" {
1578             uses nx-action-multipath-grouping;
1579         }
1580     }
1581     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" {
1582         case "nx-action-push-nsh-notif-group-desc-stats-updated-case" {
1583             uses nx-action-push-nsh-grouping;
1584         }
1585     }
1586     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" {
1587         case "nx-action-pop-nsh-notif-group-desc-stats-updated-case" {
1588             uses nx-action-pop-nsh-grouping;
1589         }
1590     }
1591     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" {
1592         case "nx-action-conntrack-notif-group-desc-stats-updated-case" {
1593             uses nx-action-conntrack-grouping;
1594         }
1595     }
1596     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" {
1597         case "nx-action-learn-notif-group-desc-stats-updated-case" {
1598             uses nx-action-learn-grouping;
1599         }
1600     }
1601 }