diff options
author | Eric Dumazet <edumazet@google.com> | 2017-08-29 15:16:01 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-29 16:10:50 -0700 |
commit | eaa72dc47488d599439cd0fd0f8c4f1bcb3906bb (patch) | |
tree | d35829277414b465b199dcada5af2e70f6183533 /net/ipv4/arp.c | |
parent | 0dd5759dbb1c9a862e7d90c09d6cf398c45f1100 (diff) | |
download | linux-eaa72dc47488d599439cd0fd0f8c4f1bcb3906bb.tar.gz linux-eaa72dc47488d599439cd0fd0f8c4f1bcb3906bb.tar.bz2 linux-eaa72dc47488d599439cd0fd0f8c4f1bcb3906bb.zip |
neigh: increase queue_len_bytes to match wmem_default
Florian reported UDP xmit drops that could be root caused to the
too small neigh limit.
Current limit is 64 KB, meaning that even a single UDP socket would hit
it, since its default sk_sndbuf comes from net.core.wmem_default
(~212992 bytes on 64bit arches).
Once ARP/ND resolution is in progress, we should allow a little more
packets to be queued, at least for one producer.
Once neigh arp_queue is filled, a rogue socket should hit its sk_sndbuf
limit and either block in sendmsg() or return -EAGAIN.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/arp.c')
-rw-r--r-- | net/ipv4/arp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 8b52179ddc6e..7c45b8896709 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -171,7 +171,7 @@ struct neigh_table arp_tbl = { [NEIGH_VAR_BASE_REACHABLE_TIME] = 30 * HZ, [NEIGH_VAR_DELAY_PROBE_TIME] = 5 * HZ, [NEIGH_VAR_GC_STALETIME] = 60 * HZ, - [NEIGH_VAR_QUEUE_LEN_BYTES] = 64 * 1024, + [NEIGH_VAR_QUEUE_LEN_BYTES] = SK_WMEM_MAX, [NEIGH_VAR_PROXY_QLEN] = 64, [NEIGH_VAR_ANYCAST_DELAY] = 1 * HZ, [NEIGH_VAR_PROXY_DELAY] = (8 * HZ) / 10, |