The actions encap, decap and dec_nsh_ttl were wrongly flagged as set_field actions in ofpact_is_set_or_move_action(). This caused them to be executed twice in the action set or a group bucket, once explicitly in ofpacts_execute_action_set() and once again as part of the list of set_field or move actions.
Fixes: f839892a ("OF support and translation of generic encap and decap") Fixes: 491e05c2 ("nsh: add dec_nsh_ttl action") Signed-off-by: Jan Scheurich <jan.scheur...@ericsson.com> --- The fix should be backported to OVS 2.9 and OVS 2.8 (without the case for OFPACT_DEC_NSH_TTL introduced in 2.9). lib/ofp-actions.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c index db85716..87797bc 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c @@ -6985,9 +6985,6 @@ ofpact_is_set_or_move_action(const struct ofpact *a) case OFPACT_SET_TUNNEL: case OFPACT_SET_VLAN_PCP: case OFPACT_SET_VLAN_VID: - case OFPACT_ENCAP: - case OFPACT_DECAP: - case OFPACT_DEC_NSH_TTL: return true; case OFPACT_BUNDLE: case OFPACT_CLEAR_ACTIONS: @@ -7025,6 +7022,9 @@ ofpact_is_set_or_move_action(const struct ofpact *a) case OFPACT_WRITE_METADATA: case OFPACT_DEBUG_RECIRC: case OFPACT_DEBUG_SLOW: + case OFPACT_ENCAP: + case OFPACT_DECAP: + case OFPACT_DEC_NSH_TTL: return false; default: OVS_NOT_REACHED(); -- 1.9.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev