Interface OpenflowpluginExtensionNiciraActionData

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

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

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

     module openflowplugin-extension-nicira-action {
       yang-version 1;
       namespace urn:opendaylight:openflowplugin:extension:nicira:action;
       prefix openflowplugin-nicira-action;
       import yang-ext {
         prefix ext;
         revision-date 2013-07-09;
       }
       import flow-node-inventory {
         prefix fni;
         revision-date 2013-08-19;
       }
       import opendaylight-inventory {
         prefix inv;
         revision-date 2013-08-19;
       }
       import sal-flow {
         prefix sal-flow;
         revision-date 2013-08-19;
       }
       import sal-group {
         prefix sal-group;
         revision-date 2013-09-18;
       }
       import packet-processing {
         prefix sal-packet;
         revision-date 2013-07-09;
       }
       import opendaylight-flow-statistics {
         prefix odl-flow-stats;
         revision-date 2013-08-19;
       }
       import opendaylight-group-statistics {
         prefix odl-group-stats;
         revision-date 2013-11-11;
       }
       import nicira-match {
         prefix nicira-match;
         revision-date 2014-04-21;
       }
       import openflowplugin-extension-general {
         prefix ext-gen;
         revision-date 2014-07-14;
       }
       import openflow-action {
         prefix ofaction;
         revision-date 2015-02-03;
       }
       import nicira-action {
         prefix nicira-action;
         revision-date 2014-04-21;
       }
       import opendaylight-direct-statistics {
         prefix directstat;
         revision-date 2016-05-11;
       }
       import ietf-inet-types {
         prefix inet;
         revision-date 2013-07-15;
       }
       import opendaylight-match-types {
         prefix match;
         revision-date 2013-10-26;
       }
       revision 2014-07-14 {
       }
       identity nx-action-reg-load-key {
         base extension-key;
       }
       identity nx-action-reg-move-key {
         base extension-key;
       }
       grouping nxm-nx-reg-grouping {
         leaf nx-reg {
           type identityref {
             base nxm-nx-reg;
           }
         }
       }
       grouping nxm-nx-tun-id-grouping {
         leaf nx-tun-id {
           type empty;
         }
       }
       grouping nxm-nx-arp-sha-grouping {
         leaf nx-arp-sha {
           type empty;
         }
       }
       grouping nxm-nx-arp-tha-grouping {
         leaf nx-arp-tha {
           type empty;
         }
       }
       grouping oxm-of-mpls-label-grouping {
         leaf of-mpls-label {
           type empty;
         }
       }
       grouping oxm-of-metadata-grouping {
         leaf of-metadata {
           type empty;
         }
       }
       grouping nxm-of-arp-op-grouping {
         leaf of-arp-op {
           type empty;
         }
       }
       grouping nxm-of-arp-spa-grouping {
         leaf of-arp-spa {
           type empty;
         }
       }
       grouping nxm-of-arp-tpa-grouping {
         leaf of-arp-tpa {
           type empty;
         }
       }
       grouping nxm-of-in-port-grouping {
         leaf of-in-port {
           type empty;
         }
       }
       grouping nxm-nx-tun-ipv4-dst-grouping {
         leaf nx-tun-ipv4-dst {
           type empty;
         }
       }
       grouping nxm-nx-tun-ipv4-src-grouping {
         leaf nx-tun-ipv4-src {
           type empty;
         }
       }
       grouping nxm-of-eth-src-grouping {
         leaf of-eth-src {
           type empty;
         }
       }
       grouping nxm-of-eth-dst-grouping {
         leaf of-eth-dst {
           type empty;
         }
       }
       grouping nxm-of-eth-type-grouping {
         leaf of-eth-type {
           type empty;
         }
       }
       grouping nxm-nx-nsp-grouping {
         leaf nx-nsp-dst {
           type empty;
         }
       }
       grouping nxm-nx-nsi-grouping {
         leaf nx-nsi-dst {
           type empty;
         }
       }
       grouping nxm-nx-nshc-1-grouping {
         leaf nx-nshc-1-dst {
           type empty;
         }
       }
       grouping nxm-nx-nshc-2-grouping {
         leaf nx-nshc-2-dst {
           type empty;
         }
       }
       grouping nxm-nx-nshc-3-grouping {
         leaf nx-nshc-3-dst {
           type empty;
         }
       }
       grouping nxm-nx-nshc-4-grouping {
         leaf nx-nshc-4-dst {
           type empty;
         }
       }
       grouping nxm-of-ip-src-grouping {
         leaf of-ip-src {
           type empty;
         }
       }
       grouping nxm-of-ip-dst-grouping {
         leaf of-ip-dst {
           type empty;
         }
       }
       grouping nxm-nx-ipv6-src-grouping {
         leaf nx-ipv6-src {
           type empty;
         }
       }
       grouping nxm-nx-ipv6-dst-grouping {
         leaf nx-ipv6-dst {
           type empty;
         }
       }
       grouping nxm-of-icmp-type-grouping {
         leaf of-icmp-type {
           type empty;
         }
       }
       grouping nxm-nx-nsh-flags-grouping {
         leaf nx-nsh-flags {
           type empty;
         }
       }
       grouping nxm-nx-nsh-mdtype-grouping {
         leaf nx-nsh-mdtype {
           type empty;
         }
       }
       grouping nxm-nx-nsh-np-grouping {
         leaf nx-nsh-np {
           type empty;
         }
       }
       grouping nxm-nx-nsh-ttl-grouping {
         leaf nx-nsh-ttl {
           type empty;
         }
       }
       grouping dst-choice-grouping {
         choice dst-choice {
           case dst-nx-reg-case {
             uses nxm-nx-reg-grouping;
           }
           case dst-nx-tun-id-case {
             uses nxm-nx-tun-id-grouping;
           }
           case dst-of-mpls-label-case {
             uses oxm-of-mpls-label-grouping;
           }
           case dst-of-metadata-case {
             uses oxm-of-metadata-grouping;
           }
           case dst-nx-arp-sha-case {
             uses nxm-nx-arp-sha-grouping;
           }
           case dst-nx-arp-tha-case {
             uses nxm-nx-arp-tha-grouping;
           }
           case dst-of-arp-op-case {
             uses nxm-of-arp-op-grouping;
           }
           case dst-of-arp-spa-case {
             uses nxm-of-arp-spa-grouping;
           }
           case dst-of-arp-tpa-case {
             uses nxm-of-arp-tpa-grouping;
           }
           case dst-nx-of-in-port-case {
             uses nxm-of-in-port-grouping;
           }
           case dst-nx-tun-ipv4-dst-case {
             uses nxm-nx-tun-ipv4-dst-grouping;
           }
           case dst-nx-tun-ipv4-src-case {
             uses nxm-nx-tun-ipv4-src-grouping;
           }
           case dst-of-eth-src-case {
             uses nxm-of-eth-src-grouping;
           }
           case dst-of-eth-dst-case {
             uses nxm-of-eth-dst-grouping;
           }
           case dst-nx-nsp-case {
             uses nxm-nx-nsp-grouping;
           }
           case dst-nx-nsi-case {
             uses nxm-nx-nsi-grouping;
           }
           case dst-nx-nshc-1-case {
             uses nxm-nx-nshc-1-grouping;
           }
           case dst-nx-nshc-2-case {
             uses nxm-nx-nshc-2-grouping;
           }
           case dst-nx-nshc-3-case {
             uses nxm-nx-nshc-3-grouping;
           }
           case dst-nx-nshc-4-case {
             uses nxm-nx-nshc-4-grouping;
           }
           case dst-of-ip-src-case {
             uses nxm-of-ip-src-grouping;
           }
           case dst-of-ip-dst-case {
             uses nxm-of-ip-dst-grouping;
           }
           case dst-nx-ipv6-src-case {
             uses nxm-nx-ipv6-src-grouping;
           }
           case dst-nx-ipv6-dst-case {
             uses nxm-nx-ipv6-dst-grouping;
           }
           case dst-of-icmp-type-case {
             uses nxm-of-icmp-type-grouping;
           }
           case dst-nx-nsh-flags-case {
             uses nxm-nx-nsh-flags-grouping;
           }
           case dst-nx-nsh-ttl-case {
             uses nxm-nx-nsh-ttl-grouping;
           }
         }
       }
       grouping src-choice-grouping {
         choice src-choice {
           case src-nx-reg-case {
             uses nxm-nx-reg-grouping;
           }
           case src-nx-tun-id-case {
             uses nxm-nx-tun-id-grouping;
           }
           case src-nx-of-mpls-label-case {
             uses oxm-of-mpls-label-grouping;
           }
           case src-nx-of-metadata-case {
             uses oxm-of-metadata-grouping;
           }
           case src-nx-arp-sha-case {
             uses nxm-nx-arp-sha-grouping;
           }
           case src-nx-arp-tha-case {
             uses nxm-nx-arp-tha-grouping;
           }
           case src-of-arp-op-case {
             uses nxm-of-arp-op-grouping;
           }
           case src-of-arp-spa-case {
             uses nxm-of-arp-spa-grouping;
           }
           case src-of-arp-tpa-case {
             uses nxm-of-arp-tpa-grouping;
           }
           case src-nx-of-in-port-case {
             uses nxm-of-in-port-grouping;
           }
           case src-nx-tun-ipv4-dst-case {
             uses nxm-nx-tun-ipv4-dst-grouping;
           }
           case src-nx-tun-ipv4-src-case {
             uses nxm-nx-tun-ipv4-src-grouping;
           }
           case src-of-eth-src-case {
             uses nxm-of-eth-src-grouping;
           }
           case src-of-eth-dst-case {
             uses nxm-of-eth-dst-grouping;
           }
           case src-of-eth-type-case {
             uses nxm-of-eth-type-grouping;
           }
           case src-nx-nsp-case {
             uses nxm-nx-nsp-grouping;
           }
           case src-nx-nsi-case {
             uses nxm-nx-nsi-grouping;
           }
           case src-nx-nshc-1-case {
             uses nxm-nx-nshc-1-grouping;
           }
           case src-nx-nshc-2-case {
             uses nxm-nx-nshc-2-grouping;
           }
           case src-nx-nshc-3-case {
             uses nxm-nx-nshc-3-grouping;
           }
           case src-nx-nshc-4-case {
             uses nxm-nx-nshc-4-grouping;
           }
           case src-of-ip-src-case {
             uses nxm-of-ip-src-grouping;
           }
           case src-of-ip-dst-case {
             uses nxm-of-ip-dst-grouping;
           }
           case src-nx-ipv6-src-case {
             uses nxm-nx-ipv6-src-grouping;
           }
           case src-nx-ipv6-dst-case {
             uses nxm-nx-ipv6-dst-grouping;
           }
           case src-nx-nsh-flags-case {
             uses nxm-nx-nsh-flags-grouping;
           }
           case src-nx-nsh-mdtype-case {
             uses nxm-nx-nsh-mdtype-grouping;
           }
           case src-nx-nsh-np-case {
             uses nxm-nx-nsh-np-grouping;
           }
           case src-nx-nsh-ttl-case {
             uses nxm-nx-nsh-ttl-grouping;
           }
         }
       }
       grouping range-grouping {
         leaf start {
           type uint16;
         }
         leaf end {
           type uint16;
         }
       }
       grouping nx-action-reg-load-grouping {
         container nx-reg-load {
           container dst {
             uses dst-choice-grouping;
             uses range-grouping;
           }
           leaf value {
             type uint64;
           }
         }
       }
       grouping nx-action-reg-move-grouping {
         container nx-reg-move {
           container src {
             uses src-choice-grouping;
             uses range-grouping;
           }
           container dst {
             uses dst-choice-grouping;
             uses range-grouping;
           }
         }
       }
       grouping nx-action-output-reg-grouping {
         container nx-output-reg {
           container src {
             uses src-choice-grouping;
             leaf ofs_nbits {
               type uint16;
             }
           }
           leaf max_len {
             type uint16;
           }
         }
       }
       grouping nx-action-resubmit-grouping {
         container nx-resubmit {
           leaf in-port {
             type uint16;
             default 0xfff8;
           }
           leaf table {
             type uint8 {
               range "0 .. 255";
             }
             default 255;
           }
         }
       }
       grouping nx-action-fin-timeout-grouping {
         container nx-action-fin-timeout {
           leaf fin-idle-timeout {
             type uint16;
           }
           leaf fin-hard-timeout {
             type uint16;
           }
         }
       }
       grouping nx-action-multipath-grouping {
         container nx-multipath {
           leaf fields {
             type nicira-action:ofj-nx-hash-fields;
           }
           leaf basis {
             type uint16;
             default 0x400;
           }
           leaf algorithm {
             type nicira-action:ofj-nx-mp-algorithm;
           }
           leaf max-link {
             type uint16;
           }
           leaf arg {
             type uint32;
           }
           container dst {
             uses dst-choice-grouping;
             uses range-grouping;
           }
         }
       }
       grouping nx-action-conntrack-grouping {
         container nx-conntrack {
           leaf flags {
             type uint16;
           }
           leaf zone-src {
             type uint32;
           }
           leaf conntrack-zone {
             type uint16;
           }
           leaf recirc-table {
             type uint8;
           }
           list ct-actions {
             uses ofpact-actions;
           }
         }
       }
       grouping nx-action-ct-clear-grouping {
         container nx-ct-clear {
           presence "no content action";
         }
       }
       grouping ofpact-actions {
         choice ofpact-actions {
           case nx-action-nat-case {
             container nx-action-nat {
               leaf flags {
                 type uint16;
               }
               leaf range_present {
                 type uint16;
               }
               leaf ip-address-min {
                 type inet:ip-address;
               }
               leaf ip-address-max {
                 type inet:ip-address;
               }
               leaf port-min {
                 type uint16;
               }
               leaf port-max {
                 type uint16;
               }
             }
           }
           case nx-action-ct-mark-case {
             container nx-action-ct-mark {
               leaf ct-mark {
                 type uint32;
               }
             }
           }
         }
       }
       grouping flow-mod-spec {
         choice flow-mod-spec {
           case flow-mod-add-match-from-field-case {
             container flow-mod-add-match-from-field {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
               leaf dst-field {
                 type uint32;
               }
               leaf dst-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-add-match-from-value-case {
             container flow-mod-add-match-from-value {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf value {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-copy-field-into-field-case {
             container flow-mod-copy-field-into-field {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
               leaf dst-field {
                 type uint32;
               }
               leaf dst-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-copy-value-into-field-case {
             container flow-mod-copy-value-into-field {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf value {
                 type uint16;
               }
               leaf dst-field {
                 type uint32;
               }
               leaf dst-ofs {
                 type uint16;
               }
             }
           }
           case flow-mod-output-to-port-case {
             container flow-mod-output-to-port {
               leaf flow-mod-num-bits {
                 type uint16;
               }
               leaf src-field {
                 type uint32;
               }
               leaf src-ofs {
                 type uint16;
               }
             }
           }
         }
       }
       grouping nx-action-learn-grouping {
         container nx-learn {
           leaf idle-timeout {
             type uint16;
           }
           leaf hard-timeout {
             type uint16;
           }
           leaf priority {
             type uint16;
           }
           leaf cookie {
             type uint64;
           }
           leaf flags {
             type uint16;
           }
           leaf table-id {
             type uint8;
           }
           leaf fin-idle-timeout {
             type uint16;
           }
           leaf fin-hard-timeout {
             type uint16;
           }
           list flow-mods {
             uses flow-mod-spec;
           }
         }
       }
       grouping nx-action-encap-grouping {
         container nx-encap {
           uses match:packet-type-fields {
             refine packet-type {
             }
           }
         }
       }
       grouping nx-action-decap-grouping {
         container nx-decap {
           uses match:packet-type-fields {
             refine packet-type {
               default 0xFFFE;
             }
           }
         }
       }
       grouping nx-action-dec-nsh-ttl-grouping {
         container nx-dec-nsh-ttl {
           presence "no content action";
         }
       }
       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 {
         case nx-action-reg-load-rpc-add-flow-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-add-flow-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-add-flow-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-add-flow-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-add-flow-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-add-flow-write-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-add-flow-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-add-flow-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-add-flow-write-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-add-flow-write-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-add-flow-write-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-add-flow-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-add-flow-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-add-flow-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-add-flow-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-add-flow-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-add-flow-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-add-flow-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-add-flow-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-add-flow-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-add-flow-apply-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-add-flow-apply-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-add-flow-apply-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-add-flow-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-remove-flow-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-remove-flow-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-remove-flow-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-remove-flow-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-remove-flow-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-remove-flow-write-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-remove-flow-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-remove-flow-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-remove-flow-write-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-remove-flow-write-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-remove-flow-write-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-remove-flow-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-remove-flow-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-remove-flow-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-remove-flow-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-remove-flow-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-remove-flow-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-remove-flow-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-remove-flow-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-remove-flow-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-remove-flow-apply-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-remove-flow-apply-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-remove-flow-apply-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-remove-flow-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-update-flow-original-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-update-flow-original-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-update-flow-original-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-update-flow-original-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-update-flow-original-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-update-flow-original-write-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-update-flow-original-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-update-flow-original-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-update-flow-original-write-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-update-flow-original-write-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-update-flow-original-write-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-update-flow-original-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-update-flow-original-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-update-flow-original-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-update-flow-original-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-update-flow-original-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-update-flow-original-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-update-flow-original-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-update-flow-original-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-update-flow-original-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-update-flow-original-apply-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-update-flow-original-apply-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-update-flow-original-apply-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-update-flow-original-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-update-flow-updated-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-update-flow-updated-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-update-flow-updated-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-update-flow-updated-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-update-flow-updated-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-update-flow-updated-write-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-update-flow-updated-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-update-flow-updated-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-update-flow-updated-write-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-update-flow-updated-write-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-update-flow-updated-write-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-update-flow-updated-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-rpc-update-flow-updated-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-load-rpc-add-group-case {
           uses nx-action-reg-load-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-move-rpc-add-group-case {
           uses nx-action-reg-move-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-output-reg-rpc-add-group-case {
           uses nx-action-output-reg-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-resubmit-rpc-add-group-case {
           uses nx-action-resubmit-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-fin-timeout-rpc-add-group-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-multipath-rpc-add-group-case {
           uses nx-action-multipath-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-conntrack-rpc-add-group-case {
           uses nx-action-conntrack-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-ct-clear-rpc-add-group-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-learn-rpc-add-group-case {
           uses nx-action-learn-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-encap-rpc-add-group-case {
           uses nx-action-encap-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-decap-rpc-add-group-case {
           uses nx-action-decap-grouping;
         }
       }
       augment /sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-dec-nsh-ttl-rpc-add-group-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-load-rpc-remove-group-case {
           uses nx-action-reg-load-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-move-rpc-remove-group-case {
           uses nx-action-reg-move-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-output-reg-rpc-remove-group-case {
           uses nx-action-output-reg-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-resubmit-rpc-remove-group-case {
           uses nx-action-resubmit-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-fin-timeout-rpc-remove-group-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-multipath-rpc-remove-group-case {
           uses nx-action-multipath-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-conntrack-rpc-remove-group-case {
           uses nx-action-conntrack-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-ct-clear-rpc-remove-group-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-learn-rpc-remove-group-case {
           uses nx-action-learn-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-encap-rpc-remove-group-case {
           uses nx-action-encap-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-decap-rpc-remove-group-case {
           uses nx-action-decap-grouping;
         }
       }
       augment /sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-dec-nsh-ttl-rpc-remove-group-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-load-rpc-update-group-original-case {
           uses nx-action-reg-load-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-move-rpc-update-group-original-case {
           uses nx-action-reg-move-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-output-reg-rpc-update-group-original-case {
           uses nx-action-output-reg-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-resubmit-rpc-update-group-original-case {
           uses nx-action-resubmit-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-fin-timeout-rpc-update-group-original-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-multipath-rpc-update-group-original-case {
           uses nx-action-multipath-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-conntrack-rpc-update-group-original-case {
           uses nx-action-conntrack-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-ct-clear-rpc-update-group-original-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-learn-rpc-update-group-original-case {
           uses nx-action-learn-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-encap-rpc-update-group-original-case {
           uses nx-action-encap-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-decap-rpc-update-group-original-case {
           uses nx-action-decap-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-dec-nsh-ttl-rpc-update-group-original-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-load-rpc-update-group-updated-case {
           uses nx-action-reg-load-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-reg-move-rpc-update-group-updated-case {
           uses nx-action-reg-move-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-output-reg-rpc-update-group-updated-case {
           uses nx-action-output-reg-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-resubmit-rpc-update-group-updated-case {
           uses nx-action-resubmit-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-fin-timeout-rpc-update-group-updated-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-multipath-rpc-update-group-updated-case {
           uses nx-action-multipath-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-conntrack-rpc-update-group-updated-case {
           uses nx-action-conntrack-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-ct-clear-rpc-update-group-updated-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-learn-rpc-update-group-updated-case {
           uses nx-action-learn-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-encap-rpc-update-group-updated-case {
           uses nx-action-encap-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-decap-rpc-update-group-updated-case {
           uses nx-action-decap-grouping;
         }
       }
       augment /sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action {
         case nx-action-dec-nsh-ttl-rpc-update-group-updated-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-reg-load-rpc-transmit-packet-case {
           uses nx-action-reg-load-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-reg-move-rpc-transmit-packet-case {
           uses nx-action-reg-move-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-output-reg-rpc-transmit-packet-case {
           uses nx-action-output-reg-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-resubmit-rpc-transmit-packet-case {
           uses nx-action-resubmit-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-fin-timeout-rpc-transmit-packet-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-multipath-rpc-transmit-packet-case {
           uses nx-action-multipath-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-conntrack-rpc-transmit-packet-case {
           uses nx-action-conntrack-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-ct-clear-rpc-transmit-packet-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-learn-rpc-transmit-packet-case {
           uses nx-action-learn-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-encap-rpc-transmit-packet-case {
           uses nx-action-encap-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-decap-rpc-transmit-packet-case {
           uses nx-action-decap-grouping;
         }
       }
       augment /sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action {
         case nx-action-dec-nsh-ttl-rpc-transmit-packet-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-nodes-node-table-flow-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-nodes-node-table-flow-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-nodes-node-table-flow-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-nodes-node-table-flow-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-nodes-node-table-flow-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-nodes-node-table-flow-write-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-nodes-node-table-flow-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-nodes-node-table-flow-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-nodes-node-table-flow-write-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-nodes-node-table-flow-write-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-nodes-node-table-flow-write-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-nodes-node-table-flow-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-nodes-node-table-flow-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-nodes-node-table-flow-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-nodes-node-table-flow-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-nodes-node-table-flow-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-nodes-node-table-flow-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-nodes-node-table-flow-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-nodes-node-table-flow-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-nodes-node-table-flow-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-nodes-node-table-flow-apply-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-nodes-node-table-flow-apply-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-nodes-node-table-flow-apply-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-nodes-node-table-flow-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-reg-load-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-reg-move-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-output-reg-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-resubmit-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-fin-timeout-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-multipath-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-conntrack-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-ct-clear-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-learn-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-encap-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-decap-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       augment /inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action {
         case nx-action-dec-nsh-ttl-nodes-node-group-buckets-bucket-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-notif-flows-statistics-update-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-notif-flows-statistics-update-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-notif-flows-statistics-update-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-notif-flows-statistics-update-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-notif-flows-statistics-update-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-notif-flows-statistics-update-write-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-notif-flows-statistics-update-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-notif-flows-statistics-update-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-notif-flows-statistics-update-write-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-notif-flows-statistics-update-write-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-notif-flows-statistics-update-write-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-notif-flows-statistics-update-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-notif-flows-statistics-update-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-notif-group-desc-stats-updated-case {
           uses nx-action-reg-load-grouping;
         }
       }
       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 {
         case nx-action-reg-move-notif-group-desc-stats-updated-case {
           uses nx-action-reg-move-grouping;
         }
       }
       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 {
         case nx-action-output-reg-notif-group-desc-stats-updated-case {
           uses nx-action-output-reg-grouping;
         }
       }
       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 {
         case nx-action-resubmit-notif-group-desc-stats-updated-case {
           uses nx-action-resubmit-grouping;
         }
       }
       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 {
         case nx-action-fin-timeout-notif-group-desc-stats-updated-case {
           uses nx-action-fin-timeout-grouping;
         }
       }
       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 {
         case nx-action-multipath-notif-group-desc-stats-updated-case {
           uses nx-action-multipath-grouping;
         }
       }
       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 {
         case nx-action-conntrack-notif-group-desc-stats-updated-case {
           uses nx-action-conntrack-grouping;
         }
       }
       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 {
         case nx-action-ct-clear-notif-group-desc-stats-updated-case {
           uses nx-action-ct-clear-grouping;
         }
       }
       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 {
         case nx-action-learn-notif-group-desc-stats-updated-case {
           uses nx-action-learn-grouping;
         }
       }
       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 {
         case nx-action-encap-notif-group-desc-stats-updated-case {
           uses nx-action-encap-grouping;
         }
       }
       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 {
         case nx-action-decap-notif-group-desc-stats-updated-case {
           uses nx-action-decap-grouping;
         }
       }
       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 {
         case nx-action-dec-nsh-ttl-notif-group-desc-stats-updated-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-reg-load-grouping;
         }
         case nx-action-reg-move-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-reg-move-grouping;
         }
         case nx-action-output-reg-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-output-reg-grouping;
         }
         case nx-action-resubmit-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-resubmit-grouping;
         }
         case nx-action-fin-timeout-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
         case nx-action-multipath-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-multipath-grouping;
         }
         case nx-action-conntrack-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-conntrack-grouping;
         }
         case nx-action-ct-clear-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-ct-clear-grouping;
         }
         case nx-action-learn-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-learn-grouping;
         }
         case nx-action-encap-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-encap-grouping;
         }
         case nx-action-decap-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-decap-grouping;
         }
         case nx-action-dec-nsh-ttl-notif-direct-statistics-update-apply-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
       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 {
         case nx-action-reg-load-notif-direct-statistics-update-write-actions-case {
           uses nx-action-reg-load-grouping;
         }
         case nx-action-reg-move-notif-direct-statistics-update-write-actions-case {
           uses nx-action-reg-move-grouping;
         }
         case nx-action-output-reg-notif-direct-statistics-update-write-actions-case {
           uses nx-action-output-reg-grouping;
         }
         case nx-action-resubmit-notif-direct-statistics-update-write-actions-case {
           uses nx-action-resubmit-grouping;
         }
         case nx-action-fin-timeout-notif-direct-statistics-update-write-actions-case {
           uses nx-action-fin-timeout-grouping;
         }
         case nx-action-multipath-notif-direct-statistics-update-write-actions-case {
           uses nx-action-multipath-grouping;
         }
         case nx-action-conntrack-notif-direct-statistics-update-write-actions-case {
           uses nx-action-conntrack-grouping;
         }
         case nx-action-ct-clear-notif-direct-statistics-update-write-actions-case {
           uses nx-action-ct-clear-grouping;
         }
         case nx-action-learn-notif-direct-statistics-update-write-actions-case {
           uses nx-action-learn-grouping;
         }
         case nx-action-encap-notif-direct-statistics-update-write-actions-case {
           uses nx-action-encap-grouping;
         }
         case nx-action-decap-notif-direct-statistics-update-write-actions-case {
           uses nx-action-decap-grouping;
         }
         case nx-action-dec-nsh-ttl-notif-direct-statistics-update-write-actions-case {
           uses nx-action-dec-nsh-ttl-grouping;
         }
       }
     }