0

I have Linux device running 4.14.7 kernel. My device-A is directly connected to third-party device(Device-B) over 1Gig port. A UDHCPD server runs on dev-A which always assigns single IP address as per DHCP config.

Dev-A is in 172.16.x.x with mask 255.255.0.0.

Dev-B is assigned with 172.16.100.1 with 255.255.255.0 from UDHCPD running on Dev-A.

Occasionally I see that "arp" table is showing "incomplete" for Dev-B and communication fails. At this time I can see that Dev-B has valid lease from UDHCPD server.

$arp
?                (172.16.100.1) at   <incomplete>                                         on      br0

A ping will restore the connection to Dev-B. How do I overcome this issue without issuing a "ping"?

Thanks in advance.

1 Answer 1

0

"incomplete" entries occur when the system hasn't yet learned the MAC address associated with a particular IP address.

You can use ARP Probe where a device sends ARP requests for its own IP address to check if the IP address is already in use. This can help ensure that the ARP cache is updated with the correct MAC address.

To enable ARP Probe on Linux, you can use the following command( Replace with the name of the network interface (eth0)):

ip neigh flush dev <interface> nud permanent

This command will flush the ARP cache and send ARP Probes to refresh the entries.

1
  • I have to do this in software. Did you meant to issue the 'ip flush' command from software? That does need to invoke a new shell? As I said, manual (ping) actions will restore communication.
    – Ashoka
    Jan 24 at 16:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .