Thanks Dumitru, looks good to me.

Acked-by: Mark Michelson <[email protected]>

On Thu, Jun 4, 2026 at 11:36 AM Dumitru Ceara via dev
<[email protected]> wrote:
>
> The column was added to expose DGP information to the CMS but ovn-northd
> never reads it and shouldn't be notified about its changes.  The CMS
> should also never write to it.
>
> Omit updates to it, otherwise ovn-northd unnecessarily wakes up after
> its own transaction that set it was committed in the NB.
>
> Even worse, these updates break incremental processing of router
> datapaths (if they're the only changes that happened in the NB) because
> lr_changes_can_be_handled() assumes it's a relevant LRP change.
>
> Update the existing tests accordingly.
>
> Fixes: 19164b030404 ("Expose distributed gateway port information in NB DB")
> Signed-off-by: Dumitru Ceara <[email protected]>
> ---
>  northd/ovn-northd.c |  2 ++
>  tests/ovn-northd.at | 11 ++---------
>  2 files changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
> index e2d1066ada..c3c198f2f3 100644
> --- a/northd/ovn-northd.c
> +++ b/northd/ovn-northd.c
> @@ -886,6 +886,8 @@ main(int argc, char *argv[])
>      ovsdb_idl_omit_alert(ovnnb_idl_loop.idl, &nbrec_nb_global_col_hv_cfg);
>      ovsdb_idl_omit_alert(ovnnb_idl_loop.idl,
>                           &nbrec_nb_global_col_hv_cfg_timestamp);
> +    ovsdb_idl_omit_alert(ovnnb_idl_loop.idl,
> +                         &nbrec_logical_router_port_col_status);
>
>      /* Ignore northbound external IDs, except for logical switch, router and
>       * their ports, for which the external IDs are propagated to 
> corresponding
> diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at
> index 2e92a18f4c..1ae6e04800 100644
> --- a/tests/ovn-northd.at
> +++ b/tests/ovn-northd.at
> @@ -303,11 +303,6 @@ check ovn-nbctl --wait=sb sync
>  # Check for the hosting-chassis status being set by northd
>  wait_row_count nb:Logical_Router_Port 1 name=lrp1 status:hosting-chassis=ch1
>
> -# Clear the hosting-chassis status from LRP and assert northd repopulates it
> -check ovn-nbctl remove logical_router_port lrp1 status hosting-chassis
> -check ovn-nbctl --wait=sb sync
> -wait_row_count nb:Logical_Router_Port 1 name=lrp1 status:hosting-chassis=ch1
> -
>  # Now remove the chassis from the port binding record and assert that the
>  # hosting-chassis status was removed by northd
>  check ovn-sbctl clear Port_Binding cr-lrp1 chassis
> @@ -11786,12 +11781,10 @@ check as northd ovn-appctl -t ovn-northd 
> inc-engine/clear-stats
>  check ovn-nbctl --wait=sb lrp-set-gateway-chassis lrp hv1
>  wait_column "hosting-chassis=hv1" nb:Logical_Router_Port status name=lrp
>
> -# There will be 3 recomputes of northd engine node
> +# There will be 2 recomputes of northd engine node
>  #   1. missing handler for input NB_logical_router
>  #   2. missing handler for input SB_ha_chassis_group
> -#   3. missing handler for input NB_logical_router when ovn-northd
> -#      updates the hosting-chassis option in NB_logical_router_port.
> -check_recompute_counter 3 3
> +check_recompute_counter 2 2
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
>  check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
> --
> 2.54.0
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>

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

Reply via email to