Why is my server logging: "dhcpd: send_packet: Invalid argument"?
  • 30 Oct 2018
  • 1 Minute to read
  • Contributors
  • Dark
    Light
  • PDF

Why is my server logging: "dhcpd: send_packet: Invalid argument"?

  • Dark
    Light
  • PDF

Article Summary

dhcpd: send_packet: Invalid argument
dhcpd: dhcp.c:3730: Failed to send 300 byte long packet over fallback interface.

This error message is seen due to two different problems:

  1. The server has a resource problem - specifically that the ARP cache (sometimes known as 'Neighbour table') is full.

  2. The wrong error code (EINVAL instead of ENOBUFS) is being returned by the operating system kernel in some circumstances. This error message was seen from Linux kernel 3.16, but the correct error was logged by Linux kernel 3.2.

The correct message would have reported "No buffer space available" instead of "Invalid argument."

Another message that might also be seen in newer versions of Linux (3.2 and above) in kern.log is:

ipv4: Neighbour table overflow.

Increasing the ARP cache can be achieved by adjusting the gc_thresh2 and gc_thresh3 Linux kernel settings.