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
