> On Thu, 3 Sep 2026 17:45:50 +0200 Lorenzo Bianconi wrote: > > > Lacking more details from the vendor, I think you need to use a > > > pktdrill-like sender, explicitly sets the segment lengths to some not > > > mergeable (like, i.e. 200-300-400) but otherwise fitting a GRO packet > > > (i.e. same hdr except for the sequence number and push flag allowed only > > > in the last packet), ensure that the aggregation timeout lasts long > > > enough to receive all of them, and check if the engine really aggregates > > > them or not. > > > > I think in the example you pointed out (length 200,300,400) the hw engine will > > create a single TCP packet composed by 3 segments (with gso_size = 300) while > > sw GRO will just push sigle skbs. I agree this is just a GRO approximation. > > If it is not enough I am fine to switch back to LRO implementation. > > FWIW the gro.py test covers that and many more cases.. ack, thx for the pointer. I run data_sml_lrg test available in gro.py and I can confirm the hw aggregates the transmitted packets (even if it is not supposed to do it). I will switch back to LRO in v6. Regards, Lorenzo