On Mon, Dec 4, 2017 at 2:00 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > On Mon, 2017-12-04 at 23:06 +0200, Or Gerlitz wrote: >> On Mon, Dec 4, 2017 at 8:11 PM, Michael Chan <michael.chan@broadcom.c >> om> wrote: >> >> > All the logic is already in these 3 drivers in the tree. You can >> > see >> > the additional logic in any of these drivers. It's just that these >> > drivers have been using NETIF_F_GRO to turn on this mode in >> > hardware/firmware. >> >> What happens for tcp encaped by some udp tunnel, does >> the HW know how to GRO that? > > Yes it does, at least for common encaps (GRE, SIT, IPIP) >
Correct, bnxt_en supports all common encaps. Basically, if we can do TSO on the packet, we can do the reverse GRO_HW on the same packet stream. As already pointed out, GRO_HW is a subset of GRO. Packets that cannot be aggregated in hardware (due to hardware resource limitations or protocol types that it doesn't handle) can just be passed to the stack for GRO aggregation.