ARP table overflow, ENOBUFS, denial of service???.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm working on the QCDOC massively parallel supercomputer
project. It's a custom designed 10Tflop MPP backend based on
a custom PPC440 based SoC, with a custom internode serial communications
network, and plain old ethernet boot/diagnostics/IO auxiliary tree.

(see http://www.physics.columbia.edu/~cqft/)

We're round robin sending to > 1024 IP's/MAC's on a subnet,
kernel version (2.4.20-31.9).

I'm observing UDP "sendto" returning ENOBUFS (the man page
says this is impossible). No arp's go out for the failing
IP address, and reading the kernel code suggests ENOBUFS
can be returned when neigh_alloc fails. Is there any way to
prevent this?

Subsequent re-transmit attempts to this IP continue to return ENOBUFS. It
can take many many seconds until these to succeed.  (is this the GC
timeout?). It seems to me that the old arp entries should be evicted and
replaced rather than having neigh_alloc fail?

(Of course, I guess I can decrease the GC interval, but I would have
though active eviction (or even GC invocation) neigh_alloc failure would
makes sense)?

Is my interpretation correct?

Many thanks,

Peter





-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux