[ovs-git] [ovn-org/ovn] e1ee35: ovn-controller: Fix wrong conj_id match flows when...
numansiddique
noreply at github.com
Wed Jan 27 11:43:17 UTC 2021
Branch: refs/heads/branch-20.12
Home: https://github.com/ovn-org/ovn
Commit: e1ee35f7ca56db479d035867c437399106ff69e8
https://github.com/ovn-org/ovn/commit/e1ee35f7ca56db479d035867c437399106ff69e8
Author: Numan Siddique <numans at ovn.org>
Date: 2021-01-27 (Wed, 27 Jan 2021)
Changed paths:
M controller/lflow.c
M include/ovn/expr.h
M lib/expr.c
M tests/ovn.at
Log Message:
-----------
ovn-controller: Fix wrong conj_id match flows when caching is enabled.
When the below ACL is added -
ovn-nbctl acl-add ls1 to-lport 3
'(ip4.src==10.0.0.1 || ip4.src==10.0.0.2) &&
(ip4.dst == 10.0.0.3 || ip4.dst == 10.0.0.4)' allow
ovn-controller installs the below OF flows
table=45, priority=1003,ip,metadata=0x1,nw_dst=10.0.0.4 actions=conjunction(2,1/2)
table=45, priority=1003,ip,metadata=0x1,nw_dst=10.0.0.3 actions=conjunction(2,1/2)
table=45, priority=1003,ip,metadata=0x1,nw_src=10.0.0.2 actions=conjunction(2,2/2)
table=45, priority=1003,ip,metadata=0x1,nw_src=10.0.0.1 actions=conjunction(2,2/2)
table=45, priority=1003,conj_id=2,ip,metadata=0x1 actions=resubmit(,46)
When a full recompute is triggered, ovn-controller deletes the last
OF flow with the match conj_id=2 and adds the below OF flow
table=45, priority=1003,conj_id=3,ip,metadata=0x1 actions=resubmit(,46)
For subsequent recomputes, the conj_id keeps increasing by 1.
This disrupts the traffic which matches on conjuction action flows.
This patch fixes this issue.
Fixes: 1213bc8270("ovn-controller: Cache logical flow expr matches.")
Suggested-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
(cherry-picked from master commit c83294970c62f662015a7979b12250580bee3001)
More information about the git
mailing list