On 1/24/26 6:06 PM, Lucas Vargas Dias wrote:
> Hi Dumitru,
>

Hi Lucas,

> Patch for this case is in [0]
> 
> [0] https://patchwork.ozlabs.org/project/ovn/
> patch/[email protected]/ <https://
> patchwork.ozlabs.org/project/ovn/patch/20260124170430.78946-1-
> [email protected]/>
> 

Thanks a lot for the fix!  I'll review the patch as soon as possible.

Regards,
Dumitru

> 
> Regards,
> Lucas
> 
> Em qua., 7 de jan. de 2026 às 12:34, Dumitru Ceara <[email protected]
> <mailto:[email protected]>> escreveu:
> 
>     On 1/7/26 3:24 PM, Lucas Vargas Dias via dev wrote:
>     > Em qua., 7 de jan. de 2026 às 10:52, Dumitru Ceara
>     <[email protected] <mailto:[email protected]>>
>     > escreveu:
>     >
>     >> On 1/7/26 1:51 PM, Lucas Vargas Dias wrote:
>     >>> I try ovn-appctl -t ovn-northd inc-engine/recompute and it
>     doesn't fix
>     >> the
>     >>> route learning
>     >>> I try ovn-appctl -t ovn-controller inc-engine/recompute in the
>     >>> ovn-chassis-4, also
>     >>>
>     >>
>     >> Oh, I see now, ovn-controller actually has a chance to learn on both
>     >> router ports before it sees the dynamic-routing-port-name option
>     (which
>     >> is set later in this case).
>     >>
>     >> All routes it learns afterwards will only be learned on rp-public.
>     >> However, the ones it already learned before the option was set it
>     >> never cleans up.
>     >>
>     >> The problem is in the sb_sync_learned_routes() function:
>     >>
>     >>     struct sbrec_learned_route *filter =
>     >>
>     >> sbrec_learned_route_index_init_row(sbrec_learned_route_by_datapath);
>     >>     sbrec_learned_route_index_set_datapath(filter, datapath);
>     >>     SBREC_LEARNED_ROUTE_FOR_EACH_EQUAL (sb_route, filter,
>     >>                                       
>      sbrec_learned_route_by_datapath) {
>     >>         /* If the port is not local we don't care about it.
>     >>          * Some other ovn-controller will handle it.
>     >>          * We may not use smap_get since the value might be
>     validly NULL.
>     >> */
>     >>         if (!smap_get_node(bound_ports,
>     >>                            sb_route->logical_port->logical_port)) {
>     >>             continue;     <<<< at this point bound_ports only
>     contains
>     >> rp-public
>     >>         }
>     >>         route_add_entry(&sync_routes, sb_route, true);
>     >>     }
>     >>     sbrec_learned_route_index_destroy_row(filter);
>     >>
>     >>
>     >> So we never add the old route we learned for ts1001-dcx1 to
>     'sync_routes'.
>     >> This means the old route will never be flushed.
>     >>
>     >> I guess we need to add another check here that also adds
>     'sb_route' to
>     >> 'sync_routes' if its logical_port is bound locally.
>     >>
>     >> Later in the function, ovn-controller will then flush it out,
>     because it
>     >> will become stale.
>     >>
>     >> Lucas, would you have time to work on a fix for this by any chance?
>     >> Otherwise, I'll open an issue to try to fix it on our side in the
>     near
>     >> future.
>     >>
>     >>
>     > Hi,
>     >
>     > I have time to work on this fix.
>     >
> 
>     Thanks a lot, looking forward to the patch!
> 
>     Regards,
>     Dumitru
> 
>     > Regards,
>     > Lucas
>     >
> 
> 
> 
> /‘Esta mensagem é direcionada apenas para os endereços constantes no
> cabeçalho inicial. Se você não está listado nos endereços constantes no
> cabeçalho, pedimos-lhe que desconsidere completamente o conteúdo dessa
> mensagem e cuja cópia, encaminhamento e/ou execução das ações citadas
> estão imediatamente anuladas e proibidas’./
> 
> / //‘Apesar do Magazine Luiza tomar todas as precauções razoáveis para
> assegurar que nenhum vírus esteja presente nesse e-mail, a empresa não
> poderá aceitar a responsabilidade por quaisquer perdas ou danos causados
> por esse e-mail ou por seus anexos’./
> 

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

Reply via email to