[ovs-git] [openvswitch/ovs] 024c40: ofproto-dpif-xlate: Do not execute resubmit again ...
GitHub
noreply at github.com
Thu Jan 28 03:56:54 UTC 2016
Branch: refs/heads/branch-2.5
Home: https://github.com/openvswitch/ovs
Commit: 024c40c35a700a75fb56442dfbd8f7623f9fc8c1
https://github.com/openvswitch/ovs/commit/024c40c35a700a75fb56442dfbd8f7623f9fc8c1
Author: Ben Pfaff <blp at ovn.org>
Date: 2016-01-27 (Wed, 27 Jan 2016)
Changed paths:
M ofproto/ofproto-dpif-xlate.c
M tests/ofproto-dpif.at
Log Message:
-----------
ofproto-dpif-xlate: Do not execute resubmit again after recirculation.
Consider the following flow table:
table=0 actions=resubmit(,1),2
table=1 actions=debug_recirc
When debug_recirc triggers recirculation and we later resume processing,
only the output to port 2 should be executed, because the effects of
"resubmit" have already taken place. However, until now, the "resubmit"
was added to the actions to execute post-recirculation, resulting in an
infinite loop.
Now consider this flow table (as seen in the "MPLS handling" test in
ofproto-dpif.at):
table=0 actions=pop_mpls(0x0806),resubmit(,1)
table=1 ip,nw_dst=1.2.3.4 actions=controller
Here, we do want to add the "resubmit" to the actions to execute
post-recirculation, since the "resubmit" cannot be processed until after
recirculation makes the nw_dst field available.
This commit fixes the problem in both cases.
Found when testing a feature based on recirculation.
Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Jarno Rajahalme <jarno at ovn.org>
More information about the git
mailing list