+static int
+check_resubmit_table(const struct nx_action_resubmit *nar)
+{
+ if (nar->pad[0] || nar->pad[1] || nar->pad[2]) {
+ return ofp_mkerr(OFPET_BAD_ACTION, OFPBAC_BAD_ARGUMENT);
+ }
+ return 0;
+}
+
+static int
+check_output_reg(const struct nx_action_output_reg *naor,
+ const struct flow *flow)
+{
+ size_t i;
+
+ for (i = 0; i < sizeof naor->zero; i++) {
+ if (naor->zero[i]) {
+ return ofp_mkerr(OFPET_BAD_ACTION, OFPBAC_BAD_ARGUMENT);
+ }
+ }
+
+ return nxm_src_check(naor->src, nxm_decode_ofs(naor->ofs_nbits),
+ nxm_decode_n_bits(naor->ofs_nbits), flow);
+}
+