On 9 Jun 2026, at 17:25, Numan Siddique wrote:
> On Tue, Jun 9, 2026 at 10:57 AM Eelco Chaudron <[email protected]> wrote: > >> >> >> On 9 Jun 2026, at 16:48, Numan Siddique wrote: >> >> [...] >> >>>> Hi Numan, >>>> >>>> I think you're running into a known limitation, but first I want to >> mention >>>> that you should not use dpctl/del-flows in production, as it will mess >> up >>>> OVS's internal state. >>>> >>> >>> Thanks Eelco for looking into it. >>> >>> Yes. In prod we see the issue without flushing the flows. I could >>> reproduce >>> locally and faster by flushing the dp flows. >>> >>> >>> >>>> >>>> Below is a test case that replicates the problem, a known issue. It's a >>>> quick and dirty attempt to show you the problem. >>>> >>>> sudo make -j 128 check-offloads \ >>>> TESTSUITEFLAGS="-k 'split recirc rules kernel vs offload' -v" >>>> >>>> I do not have a quick fix for this, as it requires some kind of >> signaling >>>> across the boundaries from ofproto, to dpif, and to hardware offload >> (and >>>> back). >>>> >>>> I'll try to come up with something quick and dirty later today or this >>>> week, >>>> so you can see if it really is the same problem you are facing. >>>> >>> >>> Thanks >> >> Hi Numan, >> >> I put together a quick hack to verify this is the issue. I am not >> sure it covers all corner cases, and I am not entirely happy with >> the approach either. However I tried several alternatives and >> this seems to be the cleanest so far. >> >> Give it a shot and let me know. If I find more time in the next >> couple of weeks I will try to work on a proper fix. >> >> You can find the patch here: >> https://github.com/chaudron/ovs/tree/refs/heads/dev/numan > > > Hi Eelco, > > Thanks for taking the time out to provide the fix. > > I'll test it out and update here. > > I asked Claude to fix it and this is what it came up with - > https://github.com/numansiddique/ovs/commit/21c8de4181412ba670fc023abf6851bfe99f23b3 > > Doesn't seem to me it's the right approach. I tested it and it worked. Hi Numan, I agree, the infrastructure was not designed to have flows installed in both data paths at the same time. At minimum this causes incorrect statistics, and there may be other side effects as well. Also, flow deletes are not propagated to TC when the flow was not offloaded, so the pending_offloads entries are never removed. Anyway, let me know if my fix worked. It is not an optimal solution either, but it might be a good layered starting point. //Eelco _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
