Not local datapath related entries were added and removed in every loops,
causing constant pinctrl wakeup.

Fixes: 70ff8243040f ("OVN: Add IGMP SB definitions and ovn-controller support")
Signed-off-by: Xavier Simonart <[email protected]>

---
-v2: Fixes test issue reported by Ales.
---
 controller/pinctrl.c | 3 +++
 tests/system-ovn.at  | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/controller/pinctrl.c b/controller/pinctrl.c
index 1ad058f2b..94a4e9bce 100644
--- a/controller/pinctrl.c
+++ b/controller/pinctrl.c
@@ -5751,6 +5751,9 @@ ip_mcast_sync(struct ovsdb_idl_txn *ovnsb_idl_txn,
         struct ip_mcast_snoop_cfg cfg;
         bool flush_groups = false;
 
+        if (!get_local_datapath(local_datapaths, dp_key)) {
+            continue;
+        }
         ip_mcast_snoop_cfg_load(&cfg, ip_mcast);
         if (ip_mcast_snoop_state_update(dp_key, &cfg, &flush_groups)) {
             notify = true;
diff --git a/tests/system-ovn.at b/tests/system-ovn.at
index 8d1f21609..d22e75a76 100644
--- a/tests/system-ovn.at
+++ b/tests/system-ovn.at
@@ -5027,6 +5027,9 @@ OVS_WAIT_UNTIL([
     test "${n_reset}" = "1"
 ])
 
+ovn-appctl coverage/show > ovn_counters
+AT_CHECK([test 50 -gt $(ovn-appctl -t ovn-controller coverage/read-counter 
pinctrl_notify_handler_thread)], [0])
+
 # Check that we do not get too many immediate wake up.
 # Tolerate a few for any race conditions.
 AT_CHECK([test 5 -gt `cat ovn-controller.log | \
-- 
2.47.1

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

Reply via email to