Commit b337750e45be ("northd: Incremental processing of VIF changes in
'northd' node.") skipped non-VIF ports from processing.  However,
"remote" ports are almost identical to VIF ports and it turns out that
incremental processing works fine for them too (if enabled).  This patch
enables that processing path.

Assisted-by: Claude Opus 4.6, Claude Code
Signed-off-by: Dumitru Ceara <[email protected]>
---
NOTE: while technically this is not a fix, I think it would be very
beneficial to backport it to our current LTS, 26.03.
---
 northd/northd.c     |  4 ++--
 tests/ovn-northd.at | 24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/northd/northd.c b/northd/northd.c
index 6fc955d8e9..f7bb6b38ab 100644
--- a/northd/northd.c
+++ b/northd/northd.c
@@ -4566,8 +4566,8 @@ destroy_northd_tracked_data(struct northd_data *nd)
 static bool
 lsp_can_be_inc_processed(const struct nbrec_logical_switch_port *nbsp)
 {
-    /* Support only normal VIF for now. */
-    if (nbsp->type[0]) {
+    /* Support only normal VIF and remote ports for now. */
+    if (nbsp->type[0] && !lsp_is_remote(nbsp)) {
         return false;
     }
 
diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at
index 2e92a18f4c..9f9a74512b 100644
--- a/tests/ovn-northd.at
+++ b/tests/ovn-northd.at
@@ -11604,6 +11604,30 @@ check_recompute_counter 0 0 0 0 0 0
 
 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1)
 
+dnl Remote ports should be incrementally processed
+check ovn-sbctl chassis-add remote-ch0 geneve 10.0.0.100
+check ovn-sbctl set chassis remote-ch0 \
+    other_config:is-remote=true
+
+check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
+check ovn-nbctl --wait=sb lsp-add ls0 rp0 \
+    -- lsp-set-type rp0 remote \
+    -- lsp-set-addresses rp0 "aa:aa:aa:00:00:10 192.168.0.20" \
+    -- lsp-set-options rp0 requested-chassis=remote-ch0
+wait_for_ports_up rp0
+check_recompute_counter 0 0 0 0 0 0
+
+check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
+check ovn-nbctl --wait=sb \
+    lsp-set-addresses rp0 "aa:aa:aa:00:00:11 192.168.0.21"
+check_recompute_counter 0 0 0 0 0 0
+
+check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
+check ovn-nbctl --wait=sb lsp-del rp0
+check_recompute_counter 0 0 0 0 0 0
+
+CHECK_NO_CHANGE_AFTER_RECOMPUTE(1)
+
 check ovn-nbctl --wait=hv ls-del ls0
 
 OVN_CLEANUP([hv1])
-- 
2.54.0

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

Reply via email to