On 8/29/25 6:04 PM, Lucas Vargas Dias via dev wrote: > icsbrec_port_binding set address to empty string, however > the in NB, the router-port exists. So, all the processes of > sync learned route executes. > Collect lr routes doesn't fill ic route info because > it doesn't extract lsp address. Sync learned routes doesn't find > the route and always add the route, generating a loop. > To fix it, sync learned route doesn't execute when address is empty > or logical router is disabled. > > Signed-off-by: Lucas Vargas Dias <lucas.vd...@luizalabs.com> > ---
Hi Lucas, > ic/ovn-ic.c | 15 +++++++++++++++ > tests/ovn-ic.at | 11 +++++++++++ > 2 files changed, 26 insertions(+) > > diff --git a/ic/ovn-ic.c b/ic/ovn-ic.c > index fa4a6b118..5dad972c4 100644 > --- a/ic/ovn-ic.c > +++ b/ic/ovn-ic.c > @@ -1026,6 +1026,12 @@ parse_route(const char *s_prefix, const char > *s_nexthop, > return !in6_is_lla(nexthop); > } > > +static bool > +lr_is_enabled(const struct nbrec_logical_router *lr) > +{ > + return !lr->n_enabled || *lr->enabled; > +} > + It's probably better to not duplicate this code and just move the lrouter_is_enabled() function from northd.c to ovn-util.c. I made that change and pushed the patch to main and all stable branches down to 24.03. Regards, Dumitru _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev