On 2/19/26 3:24 PM, Ales Musil via dev wrote:
> The host connected advertised routes were processed in the sync code,
> however that makes it harder to reason about what should be synced
> based on various conditions. Move the processing of host connected
> routes into dynamic routes, this also removes the need for additional
> incremental processing for the synced routes as all changes should
> now be handled by the dynamic routes node itself.
>
> Shift the I-P from sync into the dynamic routes as it now makes
> more sense to actually handle the I-P in dynamic-routes instead.
> This should lead to less recomputes if the sync node too, as the
> dynamic routes will react only to relevant datapath changes.
>
> Reported-at: https://issues.redhat.com/browse/FDP-2976
> Signed-off-by: Ales Musil <[email protected]>
> ---
Hi Ales,
Thanks for the patch, it makes the processing easier to understand, I think.
I didn't spot anything wrong with it, just the nit below.
>
> +/* Track the ovn_datapath that is relevant to dynamic routing computation. */
> +static void
> +dynamic_routes_track_od(struct dynamic_routes_data *data,
> + const struct ovn_datapath *od)
> +{
> + uuidset_insert(od->nbr ? &data->nb_lr : &data->nb_ls, &od->key);
Nit: with "composable services" in mind it's a bit annoying that 'struct
ovn_unsynced_datapath' has a 'enum ovn_datapath_type type' field while
'struct ovn_synced_datapath' loses it. struct ovn_datapath has a
pointer to the synced datapath: const struct ovn_synced_datapath *sdp.
Should we do something about it? Maybe in a follow up patch?
In any case, we made the assumption that the datapath is either a router
or a switch before your patch too, therefore:
Acked-by: Dumitru Ceara <[email protected]>
Thanks,
Dumitru
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev