On 2/19/26 3:24 PM, Ales Musil via dev wrote:
> Move the code around as it will be used by the future commit.
> It also makes it clearer to see what has changed in the moved code.
> 
> Signed-off-by: Ales Musil <[email protected]>
> ---

Hi Ales,

Looks good to me, just one tiny nit below.

>  northd/en-advertised-route-sync.c | 126 +++++++++++++++---------------
>  1 file changed, 63 insertions(+), 63 deletions(-)
> 
> diff --git a/northd/en-advertised-route-sync.c 
> b/northd/en-advertised-route-sync.c
> index a200731f1..5608b868b 100644
> --- a/northd/en-advertised-route-sync.c
> +++ b/northd/en-advertised-route-sync.c
> @@ -470,69 +470,6 @@ build_lb_routes(const struct ovn_datapath *od,
>      }
>  }
>  
> -void *
> -en_dynamic_routes_init(struct engine_node *node OVS_UNUSED,
> -                       struct engine_arg *arg OVS_UNUSED)
> -{
> -    struct dynamic_routes_data *data = xmalloc(sizeof *data);
> -    *data = (struct dynamic_routes_data) {
> -        .routes = HMAP_INITIALIZER(&data->routes),
> -    };
> -
> -    return data;
> -}
> -
> -static void
> -en_dynamic_routes_clear(struct dynamic_routes_data *data)
> -{
> -    struct ar_entry *ar;
> -    HMAP_FOR_EACH_POP (ar, hmap_node, &data->routes) {
> -        ar_entry_free(ar);
> -    }
> -}
> -void
> -en_dynamic_routes_cleanup(void *data_)
> -{
> -    struct dynamic_routes_data *data = data_;
> -
> -    en_dynamic_routes_clear(data);
> -    hmap_destroy(&data->routes);
> -}
> -
> -enum engine_node_state
> -en_dynamic_routes_run(struct engine_node *node, void *data)
> -{
> -    struct dynamic_routes_data *dynamic_routes_data = data;
> -    struct northd_data *northd_data = engine_get_input_data("northd", node);
> -    struct ed_type_lr_stateful *lr_stateful_data =
> -        engine_get_input_data("lr_stateful", node);
> -
> -    en_dynamic_routes_clear(data);
> -
> -    const struct lr_stateful_record *lr_stateful_rec;
> -    HMAP_FOR_EACH (lr_stateful_rec, key_node,
> -                   &lr_stateful_data->table.entries) {
> -        const struct ovn_datapath *od =
> -            ovn_datapaths_find_by_index(&northd_data->lr_datapaths,
> -                                        lr_stateful_rec->lr_index);
> -        if (!od->dynamic_routing) {
> -            continue;
> -        }
> -        build_nat_routes(od, lr_stateful_rec->lrnat_rec,
> -                         &northd_data->ls_ports,
> -                         &dynamic_routes_data->routes);
> -        build_nat_connected_routes(od, &lr_stateful_data->table,
> -                                   &northd_data->ls_ports,
> -                                   &dynamic_routes_data->routes);
> -
> -        build_lb_routes(od, lr_stateful_rec->lb_ips,
> -                        &dynamic_routes_data->routes);
> -        build_lb_connected_routes(od, &lr_stateful_data->table,
> -                                  &dynamic_routes_data->routes);
> -    }
> -    return EN_UPDATED;
> -}
> -
>  static void
>  publish_lport_addresses(struct hmap *sync_routes,
>                          const struct ovn_datapath *od,
> @@ -634,6 +571,69 @@ publish_host_routes(struct hmap *sync_routes,
>      }
>  }
>  
> +void *
> +en_dynamic_routes_init(struct engine_node *node OVS_UNUSED,
> +                       struct engine_arg *arg OVS_UNUSED)
> +{
> +    struct dynamic_routes_data *data = xmalloc(sizeof *data);
> +    *data = (struct dynamic_routes_data) {
> +        .routes = HMAP_INITIALIZER(&data->routes),
> +    };
> +
> +    return data;
> +}
> +
> +static void
> +en_dynamic_routes_clear(struct dynamic_routes_data *data)
> +{
> +    struct ar_entry *ar;
> +    HMAP_FOR_EACH_POP (ar, hmap_node, &data->routes) {
> +        ar_entry_free(ar);
> +    }
> +}

Nit: now that we're moving this around we could add the missing newline
here.

With that addressed, and assuming patch 1/2 gets merged too (I didn't
review it yet):

Acked-by: Dumitru Ceara <[email protected]>

Thanks,
Dumitru

> +void
> +en_dynamic_routes_cleanup(void *data_)
> +{
> +    struct dynamic_routes_data *data = data_;
> +
> +    en_dynamic_routes_clear(data);
> +    hmap_destroy(&data->routes);
> +}
> +
> +enum engine_node_state
> +en_dynamic_routes_run(struct engine_node *node, void *data)
> +{
> +    struct dynamic_routes_data *dynamic_routes_data = data;
> +    struct northd_data *northd_data = engine_get_input_data("northd", node);
> +    struct ed_type_lr_stateful *lr_stateful_data =
> +        engine_get_input_data("lr_stateful", node);
> +
> +    en_dynamic_routes_clear(data);
> +
> +    const struct lr_stateful_record *lr_stateful_rec;
> +    HMAP_FOR_EACH (lr_stateful_rec, key_node,
> +                   &lr_stateful_data->table.entries) {
> +        const struct ovn_datapath *od =
> +            ovn_datapaths_find_by_index(&northd_data->lr_datapaths,
> +                                        lr_stateful_rec->lr_index);
> +        if (!od->dynamic_routing) {
> +            continue;
> +        }
> +        build_nat_routes(od, lr_stateful_rec->lrnat_rec,
> +                         &northd_data->ls_ports,
> +                         &dynamic_routes_data->routes);
> +        build_nat_connected_routes(od, &lr_stateful_data->table,
> +                                   &northd_data->ls_ports,
> +                                   &dynamic_routes_data->routes);
> +
> +        build_lb_routes(od, lr_stateful_rec->lb_ips,
> +                        &dynamic_routes_data->routes);
> +        build_lb_connected_routes(od, &lr_stateful_data->table,
> +                                  &dynamic_routes_data->routes);
> +    }
> +    return EN_UPDATED;
> +}
> +
>  static bool
>  should_advertise_route(const struct uuidset *host_route_lrps,
>                         const struct ovn_datapath *advertising_od,

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

Reply via email to