Hi Ales, Dumitru

Thanks for looking at this patch series.
The goal would be to backport till 24.03.

Sorry for the confusion - I only tested that cherry-picking the patches
were correct on 25.03, 24.09 and 24.03.
Cherry-pick worked on 24.09 & 25.03, and required a customer backport on
24.03.
However, as you indicated, git am fails on 25.03 & 24.09.
So, I'll send customer patches for those two branches as well.

Finally, please note that the test "pod to pod with localnet_learn_fdb",
which was already flaky, might be more flaky with the two patches from this
series.
An upstream patch fixing the flaky behavior has been posted for
upstream/main (
http://patchwork.ozlabs.org/project/ovn/patch/[email protected]/)
and will need to be backported as well.

Thanks
Xavier

On Thu, Aug 21, 2025 at 5:08 PM Dumitru Ceara <[email protected]> wrote:

> On 8/21/25 1:09 PM, Xavier Simonart via dev wrote:
> > vif1(hv1) - ls - localnet - ls - vif2(hv2)
> >
> > In this configuration, with one logical switch with two vif (vif1 on
> > hv1 and vif2 on hv2), and a localnet port (localnet), traffic from vif1
> to
> > vif2 goes through localnet. A vif entry update in fdb was lost if the sb
> > transaction was failing.
> >
> > A transaction could fail in the following scenario:
> > - When packet from vif1 is received by br-int on hv1, vif1_mac is
> inserted in
> >   FDB with port=vif1 [1].
> > - When the packet is received on hv2 by localnet, if it is received
> before the
> >   FDB update [1], then vif1_mac is inserted in FDB with port=localnet
> [2].
> >   This transaction, when sent, will fail [A]. The transaction might be
> sent
> >   later (in some time) as sent by ovn-controller (while packet was
> forwarded
> >   by OVS w/o OVN intervention).
> > - When vif2 replies (e.g. ARP reply, echo reply), vif2_mac is inserted in
> >   FDB [3] with port=vif2. If the reply packet is handled in hv2 before
> FDB
> >   update [2] is sent, both updates [2] and [3] are sent at the same time.
> >   Hence, if the transaction fails [A], vif2_mac is not inserted in FDB.
> > - Finally, when reply hits hv1, if vif2_mac is not in FDB, an entry for
> >   vif2_mac will be inserted in FDB with port=localnet.
> >
> > Hence, at the end of the game, the FDB entry for vif2_mac is localnet,
> and
> > vif2 stops receiving packets until it sends one (and updates FDB with
> > port=vif2).
> >
> > This patch fixes this by resubmitting FDB updates for VIF entries if the
> > transaction failed.
> >
> > Reported-at: https://issues.redhat.com/browse/FDP-1341
> > Signed-off-by: Xavier Simonart <[email protected]>
> > Signed-off-by: Ales Musil <[email protected]>
> > (cherry picked from commit 7ff2c6be57493ef438d893109b24f65571ca641e)
> > ---
>
> Hi Xavier,
>
> Thanks for the backport.  The original commit is only on main, was this
> backport patch intended for both 25.03 and 24.03 branches?  It doesn't
> apply cleanly on 25.03 and the conflict is non-trivial.
>
> We need at least a backport patch for 25.03 before we can apply this
> one.  Would you be able to prepare one for 25.03 as well?
>
> Thanks,
> Dumitru
>
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to