[ovs-dev] [PATCH] ofp-actions: Correct execution of encap/decap actions in action set
Jan Scheurich
jan.scheurich at ericsson.com
Mon Mar 26 07:36:27 UTC 2018
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.scheurich at 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
More information about the dev
mailing list