clatd: Fix packet corruption seen with GRO packets

MTU serves a dual purpose for CLAT. The segment size of the packet
ring is based on the MAXMTU apart from the interface MTU itself.

GRO coalesce happens on the receive path which is not affected by
the MTU (transmit). In other words, increasing the MAXMTU does not
affect if a GRO coalesced packet is delivered to CLAT.
It only affects the amount of data being read from the TPacket ring.

Introduce a new parameter MAXMRU which handles the increased MRU
to account for GRO packets. Increase the ring size to compensate
for the larger segments to maintain the same throughput as earlier.

Change-Id: I30057970973b99181505e698f64e7fa5aa0a27d9
3 files changed