[ovs-git] [openvswitch/ovs] 01bc91: ofproto-dpif-xlate: Fix check_pkt_larger incomplet...
numansiddique
noreply at github.com
Thu Nov 18 00:04:19 UTC 2021
Branch: refs/heads/branch-2.15
Home: https://github.com/openvswitch/ovs
Commit: 01bc910e57506e6f9e17c4ff8459230113895e38
https://github.com/openvswitch/ovs/commit/01bc910e57506e6f9e17c4ff8459230113895e38
Author: Numan Siddique <numans at ovn.org>
Date: 2021-11-17 (Wed, 17 Nov 2021)
Changed paths:
M ofproto/ofproto-dpif-xlate.c
M tests/ofproto-dpif.at
Log Message:
-----------
ofproto-dpif-xlate: Fix check_pkt_larger incomplete translation.
xlate_check_pkt_larger() sets ctx->exit to 'true' at the end
causing the translation to stop. This results in incomplete
datapath rules.
For example, for the below OF rules configured on a bridge,
table=0,in_port=1 actions=load:0x1->NXM_NX_REG1[[]],resubmit(,1),
load:0x2->NXM_NX_REG1[[]],resubmit(,1),
load:0x3->NXM_NX_REG1[[]],resubmit(,1)
table=1,in_port=1,reg1=0x1 actions=check_pkt_larger(200)->NXM_NX_REG0[[0]],
resubmit(,4)
table=1,in_port=1,reg1=0x2 actions=output:2
table=1,in_port=1,reg1=0x3 actions=output:4
table=4,in_port=1 actions=output:3
The datapath flow should be:
check_pkt_len(size=200,gt(3),le(3)),2,4
But right now it is:
check_pkt_len(size=200,gt(3),le(3))
Actions after the first resubmit(,1) in the first flow in table 0
are never applied. This patch fixes this issue.
Fixes: 5b34f8fc3b38 ("Add a new OVS action check_pkt_larger")
Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2018365
Reported-by: Ihar Hrachyshka <ihrachys at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Acked-by: Aaron Conole <aconole at redhat.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
More information about the git
mailing list