From: Eric Dumazet <eric.duma...@gmail.com> Date: Mon, 07 Nov 2016 11:12:27 -0800
> From: Eric Dumazet <eduma...@google.com> > > Receiving a GSO packet in dev_gro_receive() is not uncommon > in stacked devices, or devices partially implementing LRO/GRO > like bnx2x. GRO is implementing the aggregation the device > was not able to do itself. > > Current code causes reorders, like in following case : > > For a given flow where sender sent 3 packets P1,P2,P3,P4 > > Receiver might receive P1 as a single packet, stored in GRO engine. > > Then P2-P4 are received as a single GSO packet, immediately given to > upper stack, while P1 is held in GRO engine. > > This patch will make sure P1 is given to upper stack, then P2-P4 > immediately after. > > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied.