On Mon, Apr 28, 2025 at 10:21:26AM +0200, Ales Musil wrote:
> The BGP route would remain with wrong priority in case when the
> tracked is bound to chassis after the route creation. Make sure that
> we also track the runtime data changes for tracked ports.
> 
> Fixes: ccb0b6b9109c ("controller: Introduce route node.")
> Signed-off-by: Ales Musil <amu...@redhat.com>
> ---

Hi Ales,

thanks a lot. These changes look good to me.

Acked-By: Felix Huettner <felix.huettner@stackit.cloud>

Based on these changes i noticed some other potential improvements.
I will push them once your change has been merged.

THanks a lot,
Felix

>  controller/ovn-controller.c | 22 ++++++++++++++++++++++
>  tests/system-ovn.at         |  1 -
>  2 files changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
> index 4266d9a9c..6ca4e1575 100644
> --- a/controller/ovn-controller.c
> +++ b/controller/ovn-controller.c
> @@ -5119,6 +5119,28 @@ route_runtime_data_handler(struct engine_node *node, 
> void *data)
>                   * request recompute. */
>                  return false;
>              }
> +
> +            /* When the port is removed we went from local to remote,
> +             * otherwise it's from remote to local. */
> +            struct sset *tracked_ports =
> +                lport->tracked_type == TRACKED_RESOURCE_REMOVED
> +                ? &re_data->tracked_ports_local
> +                : &re_data->tracked_ports_remote;
> +
> +            const char *name = lport->pb->logical_port;
> +            if (sset_contains(tracked_ports, name)) {
> +                /* XXX: Until we get I-P support for route exchange we need 
> to
> +                 * request recompute. */
> +                return false;
> +            }
> +
> +            const char *dp_name = smap_get(&lport->pb->options,
> +                                           "distributed-port");
> +            if (dp_name && sset_contains(tracked_ports, dp_name)) {
> +                /* XXX: Until we get I-P support for route exchange we need 
> to
> +                 * request recompute. */
> +                return false;
> +            }
>          }
>      }
>  
> diff --git a/tests/system-ovn.at b/tests/system-ovn.at
> index 5fa740cfb..6e71286ad 100644
> --- a/tests/system-ovn.at
> +++ b/tests/system-ovn.at
> @@ -16388,7 +16388,6 @@ check ovn-nbctl lr-nat-add pr1 dnat_and_snat 
> 192.0.2.10 10.0.0.2
>  check ovn-nbctl lsp-add p2 vif2 \
>      -- lsp-set-addresses vif2 "00:00:ff:ff:ff:02 198.51.100.10"
>  check ovn-nbctl lr-route-add internet 198.51.100.0/24 192.0.2.3
> -        .ovnsb_idl = re->sb_idl,
>  
>  # Configure external connectivity.
>  check ovs-vsctl set Open_vSwitch . 
> external-ids:ovn-bridge-mappings=phynet:br-ext
> -- 
> 2.49.0
> 
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to