The issue was identified by comparing flows from I+P and recomputes.
It will be automatically checked when this comparison is done automatically
for all tests in a subsequent patch.

Signed-off-by: Xavier Simonart <[email protected]>
---
 controller/physical.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/controller/physical.c b/controller/physical.c
index 6b93696fa..eede87d8d 100644
--- a/controller/physical.c
+++ b/controller/physical.c
@@ -2420,6 +2420,13 @@ physical_handle_flows_for_lport(const struct 
sbrec_port_binding *pb,
         physical_multichassis_reprocess(pb, p_ctx, flow_table);
     }
 
+    if (removed && !strcmp(pb->type, "patch")) {
+        const struct sbrec_port_binding *peer =
+            get_binding_peer(p_ctx->sbrec_port_binding_by_name, pb);
+            if (peer) {
+                ofctrl_remove_flows(flow_table, &peer->header_.uuid);
+            }
+    }
     if (!removed) {
         physical_eval_port_binding(p_ctx, pb, flow_table);
         if (!strcmp(pb->type, "patch")) {
-- 
2.31.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to