Commit 9c77b803 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: tso: double TSO_HEADER_SIZE value



Transport header size could be 60 bytes, and network header
size can also be 60 bytes. Add the Ethernet header and we
are above 128 bytes.

Since drivers using net/core/tso.c usually allocates
one DMA coherent piece of memory per TX queue, this patch
might cause issues if a driver was using too many slots.

For 1024 slots, we would need 256 KB of physically
contiguous memory instead of 128 KB.

Alternative fix would be to add checks in the fast path,
but this involves more work in all drivers using net/core/tso.c.

Fixes: f9cbe9a5 ("net: define the TSO header size in net/tso.h")
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Cc: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 39341520
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@

#include <net/ip.h>

#define TSO_HEADER_SIZE		128
#define TSO_HEADER_SIZE		256

struct tso_t {
	int next_frag_idx;