These actions aren't very similar but until now they both had the same action structure. These structures are going to diverge in an upcoming commit, so separate them now.
Signed-off-by: Ben Pfaff <b...@ovn.org> --- include/ovn/actions.h | 10 ++++++++-- ovn/lib/actions.c | 11 ++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/include/ovn/actions.h b/include/ovn/actions.h index a1b6b90..92c8888 100644 --- a/include/ovn/actions.h +++ b/include/ovn/actions.h @@ -55,7 +55,7 @@ struct simap; OVNACT(MOVE, ovnact_move) \ OVNACT(EXCHANGE, ovnact_move) \ OVNACT(DEC_TTL, ovnact_null) \ - OVNACT(CT_NEXT, ovnact_next) \ + OVNACT(CT_NEXT, ovnact_ct_next) \ OVNACT(CT_COMMIT, ovnact_ct_commit) \ OVNACT(CT_DNAT, ovnact_ct_nat) \ OVNACT(CT_SNAT, ovnact_ct_nat) \ @@ -140,7 +140,7 @@ struct ovnact_null { struct ovnact ovnact; }; -/* OVNACT_NEXT, OVNACT_CT_NEXT. */ +/* OVNACT_NEXT. */ struct ovnact_next { struct ovnact ovnact; uint8_t ltable; /* Logical table ID of next table. */ @@ -160,6 +160,12 @@ struct ovnact_move { struct expr_field rhs; }; +/* OVNACT_CT_NEXT. */ +struct ovnact_ct_next { + struct ovnact ovnact; + uint8_t ltable; /* Logical table ID of next table. */ +}; + /* OVNACT_CT_COMMIT. */ struct ovnact_ct_commit { struct ovnact ovnact; diff --git a/ovn/lib/actions.c b/ovn/lib/actions.c index 213e22e..2162dad 100644 --- a/ovn/lib/actions.c +++ b/ovn/lib/actions.c @@ -530,24 +530,29 @@ parse_CT_NEXT(struct action_context *ctx) } static void -format_CT_NEXT(const struct ovnact_next *next OVS_UNUSED, struct ds *s) +format_CT_NEXT(const struct ovnact_ct_next *ct_next OVS_UNUSED, struct ds *s) { ds_put_cstr(s, "ct_next;"); } static void -encode_CT_NEXT(const struct ovnact_next *next, +encode_CT_NEXT(const struct ovnact_ct_next *ct_next, const struct ovnact_encode_params *ep, struct ofpbuf *ofpacts) { struct ofpact_conntrack *ct = ofpact_put_CT(ofpacts); - ct->recirc_table = ep->first_ptable + next->ltable; + ct->recirc_table = ep->first_ptable + ct_next->ltable; ct->zone_src.field = ep->is_switch ? mf_from_id(MFF_LOG_CT_ZONE) : mf_from_id(MFF_LOG_DNAT_ZONE); ct->zone_src.ofs = 0; ct->zone_src.n_bits = 16; ofpact_finish(ofpacts, &ct->ofpact); } + +static void +ovnact_ct_next_free(struct ovnact_ct_next *a OVS_UNUSED) +{ +} static void parse_ct_commit_arg(struct action_context *ctx, -- 2.10.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev