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