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

Reply via email to