summaryrefslogtreecommitdiff
path: root/tests/tunnel-push-pop.at
diff options
context:
space:
mode:
authorEelco Chaudron <echaudro@redhat.com>2022-07-26 11:40:27 +0200
committerIlya Maximets <i.maximets@ovn.org>2022-09-09 16:54:58 +0200
commit4f5decf4ab3fd23a68116a7cb2052d209f08bf56 (patch)
treea55a5a498d8afc887655057e47761edf8e97853f /tests/tunnel-push-pop.at
parentd046453b56a9432aac83a2950e7c4083eb3274dd (diff)
downloadopenvswitch-4f5decf4ab3fd23a68116a7cb2052d209f08bf56.tar.gz
ofproto-dpif-xlate: Optimize datapath action set by removing last clone action.
When OFPROTO non-reversible actions are translated to data plane actions, the only thing looked at is if there are more actions pending. If this is the case, the action is encapsulated in a clone(). This could lead to unnecessary clones if no meaningful data plane actions are added. For example, the register pop in the included test case. The best solution would probably be to build the full action path and determine if the clone is needed. However, this would be a huge change in the existing design, so for now, we just try to optimize the generated datapath flow. We can revisit this later, as some of the pending CT issues might need this rework. Fixes: feee58b9587f ("ofproto-dpif-xlate: Keep track of the last action") Fixes: dadd8357f224 ("ofproto-dpif: Fix issue with non-reversible actions on a patch ports.") Acked-by: Ales Musil <amusil@redhat.com> Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'tests/tunnel-push-pop.at')
-rw-r--r--tests/tunnel-push-pop.at4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/tunnel-push-pop.at b/tests/tunnel-push-pop.at
index 2c6c52eda..bc82abc1f 100644
--- a/tests/tunnel-push-pop.at
+++ b/tests/tunnel-push-pop.at
@@ -906,11 +906,11 @@ AT_CHECK([ovs-appctl ofproto/trace ovs-tun0 in_port=p7], [0], [stdout])
AT_CHECK([tail -2 stdout], [0], [dnl
Megaflow: recirc_id=0,eth,in_port=7,dl_src=00:00:00:00:00:00,dnl
dl_dst=00:00:00:00:00:00,dl_type=0x0000
-Datapath actions: push_vlan(vid=200,pcp=0),1,clone(tnl_push(tnl_port(4789),dnl
+Datapath actions: push_vlan(vid=200,pcp=0),1,tnl_push(tnl_port(4789),dnl
header(size=50,type=4,eth(dst=aa:55:aa:66:00:00,src=aa:55:aa:55:00:00,dnl
dl_type=0x0800),ipv4(src=10.0.0.2,dst=10.0.0.11,proto=17,tos=0,ttl=64,dnl
frag=0x4000),udp(src=0,dst=4789,csum=0x0),vxlan(flags=0x8000000,vni=0x0)),dnl
-out_port(100)),8)
+out_port(100)),8
])
OVS_VSWITCHD_STOP