On Tue, Oct 20, 2026 at 9:17 AM Xavier Simonart <[email protected]> wrote:
> Hi Ales, Rosemarie > > Thanks for the patch. > The patch itself fixes the north issue causing a continuous insert/delete > conflict between ovn-controller-vtep and ovn-northd. > However, a similar issue (a continuous insert/delete loop) also exists, in > some cases, with controller-vtep alone. > Since this might be considered a different issue, I'll give an Ack and > will send a vtep-related patch and some tests highlighting the issue later > today. > > Acked-by: Xavier Simonart <[email protected]> > Thanks > Xavier > > > On Mon, Oct 19, 2026 at 9:38 PM Rosemarie O'Riorden via dev < > [email protected]> wrote: > >> Thank you Ales! >> >> Acked-by: Rosemarie O'Riorden <[email protected]> >> >> On 10/19/26 3:25 PM, Ales Musil via dev wrote: >> > Do not attempt to remove FDB learned via VTEP LSP with no address, >> > otherwise we end up in a loop where the FDBs are learned through VTEP >> > and removed right away. >> > >> > Fixes: 03fd372c879b ("northd: Properly cleanup FDB entries.") >> > Signed-off-by: Ales Musil <[email protected]> >> > --- >> > northd/northd.c | 13 +++++++++---- >> > tests/ovn-controller-vtep.at | 7 +++++++ >> > 2 files changed, 16 insertions(+), 4 deletions(-) >> > >> > diff --git a/northd/northd.c b/northd/northd.c >> > index 7c4cb5a62..27683fdd4 100644 >> > --- a/northd/northd.c >> > +++ b/northd/northd.c >> > @@ -1314,6 +1314,13 @@ lsp_disable_arp_nd_rsp(const struct >> nbrec_logical_switch_port *nbsp) >> > return smap_get_bool( ->options, "disable_arp_nd_rsp", false); >> > } >> > >> > +static bool >> > +port_can_learn_fdb(const struct ovn_port *op) >> > +{ >> > + return op->nbsp && lsp_is_enabled(op->nbsp) && >> > + (op->has_unknown || lsp_is_vtep(op->nbsp)); >> > + } >> > + >> > static bool >> > lsp_is_type_changed(const struct sbrec_port_binding *sb, >> > const struct nbrec_logical_switch_port *nbsp, >> > @@ -4367,9 +4374,7 @@ ovn_port_add_tnlid(struct ovn_port *op, uint32_t >> tunnel_key) >> > op->od->port_key_hint = tunnel_key; >> > } >> > >> > - /* Track the assigned tunnel_key for enabled LSP >> > - * with unknown address. */ >> > - if (op->nbsp && lsp_is_enabled(op->nbsp) && op->has_unknown) { >> > + if (port_can_learn_fdb(op)) { >> > ovs_assert(ovn_add_tnlid(&op->od->fdb_ports_tnlids, >> tunnel_key)); >> > } >> > } >> > @@ -4425,7 +4430,7 @@ ovn_port_allocate_key(struct ovn_port *op) >> > return false; >> > } >> > >> > - if (op->nbsp && lsp_is_enabled(op->nbsp) && op->has_unknown) { >> > + if (port_can_learn_fdb(op)) { >> > ovs_assert(ovn_add_tnlid(&op->od->fdb_ports_tnlids, >> > op->tunnel_key)); >> > } >> > diff --git a/tests/ovn-controller-vtep.at b/tests/ >> ovn-controller-vtep.at >> > index 0e8a1e008..aa8da62a6 100644 >> > --- a/tests/ovn-controller-vtep.at >> > +++ b/tests/ovn-controller-vtep.at >> > @@ -620,7 +620,11 @@ OVS_WAIT_UNTIL([vtep-ctl list Ucast_Macs_Local | >> grep -q aa:bb:cc:dd:ff:02]) >> > >> > # Check that first MACs is propagated to FDB table >> > wait_row_count fdb 1 mac='"aa:bb:cc:dd:ff:01"' >> > +uuid1=$(fetch_column fdb _uuid mac='"aa:bb:cc:dd:ff:01"') >> > +check test -n "$uuid1" >> > wait_row_count fdb 1 mac='"aa:bb:cc:dd:ff:02"' >> > +uuid2=$(fetch_column fdb _uuid mac='"aa:bb:cc:dd:ff:02"') >> > +check test -n "$uuid2" >> > >> > # Switch context >> > as >> > @@ -632,6 +636,9 @@ OVS_WAIT_WHILE([vtep-ctl list-remote-macs lswitch1 >> | grep -q aa:bb:cc:dd:ff:01]) >> > OVS_WAIT_UNTIL([vtep-ctl list-remote-macs lswitch1 | grep -q >> aa:bb:cc:dd:ff:02]) >> > OVS_WAIT_WHILE([vtep-ctl list-remote-macs lswitch0 | grep -q >> aa:bb:cc:dd:ff:02]) >> > >> > +check test "$uuid1" = "$(fetch_column fdb _uuid >> mac='"aa:bb:cc:dd:ff:01"')" >> > +check test "$uuid2" = "$(fetch_column fdb _uuid >> mac='"aa:bb:cc:dd:ff:02"')" >> > + >> > # Switch context to br-vtep1 >> > as br-vtep1 >> > >> >> _______________________________________________ >> dev mailing list >> [email protected] >> https://mail.openvswitch.org/mailman/listinfo/ovs-dev >> >> Thank you Rosemarie and Xavier, applied to main and backported down to 26.03. Regards, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
