Thanks Ales,

Acked-by: Mark Michelson <mmich...@redhat.com>

On 4/29/25 06:03, Ales Musil via dev wrote:
The non_vif_data tracks ofport number for tunnels and patch ports.
Make sure we recompute only for ofport changes, this also prevents
recomputes for lflow which has non_vif_data as input node without
a handler.

Signed-off-by: Ales Musil <amu...@redhat.com>
---
  controller/local_data.c | 14 +++++++++++---
  1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/controller/local_data.c b/controller/local_data.c
index e256de5fa..97710528f 100644
--- a/controller/local_data.c
+++ b/controller/local_data.c
@@ -538,9 +538,17 @@ local_nonvif_data_handle_ovs_iface_changes(
  {
      const struct ovsrec_interface *iface_rec;
      OVSREC_INTERFACE_TABLE_FOR_EACH_TRACKED (iface_rec, iface_table) {
-        if (!strcmp(iface_rec->type, "geneve") ||
-            !strcmp(iface_rec->type, "patch") ||
-            !strcmp(iface_rec->type, "vxlan")) {
+        /* Check only patch ports or tunnels. */
+        if (strcmp(iface_rec->type, "geneve") &&
+            strcmp(iface_rec->type, "patch") &&
+            strcmp(iface_rec->type, "vxlan")) {
+            continue;
+        }
+        /* We are interested only in ofport changes for this handler. */
+        if (ovsrec_interface_is_new(iface_rec) ||
+            ovsrec_interface_is_deleted(iface_rec) ||
+            ovsrec_interface_is_updated(iface_rec,
+                                        OVSREC_INTERFACE_COL_OFPORT)) {
              return false;
          }
      }

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to