Incomplete ARP – Reasons for Seeing an Incomplete ARP

arplayer3routerswitch

As was mentioned in this post:

The reason for seeing an incomplete ARP is that "An ARP request was sent for that address, but the host with that address is not up and running on the LAN, so there is no reply"

So, if a multilayer switch sends an ARP request to a server and gets no reply, ARP will be marked as incomplete in the switch ARP table.

But what if the server sends an ARP request to the switch but does not receive reply? Will the server display incomplete ARP in its ARP table, and the switch will display no entry?

Supposing the above is correct, can we say that if you see the incomplete ARP entry on a local device, the problem is with the device at the other end of the connection (or cabling)? Or are there some exceptions?

Best Answer

For a layer-3 switch, the layer-3 module in the switch is a router, and it works just like a router, which works like any other host for ARP. A layer-3 switch is still primarily a layer-2 switch, and the layer-2 switch still acts just like a layer-2 switch. The layer-3 and layer-2 parts of a layer-3 switch are really separate. The layer-3 interfaces (both virtual interfaces and any physical interfaces configured as layer-3 interfaces) will use an ARP table, but the layer-2 interfaces will use a MAC address table.

When a host, including a router or the routing module in a layer-3 switch, sends an ARP request and receives no reply, it marks the ARP table entry as incomplete.

But what if the server sends an ARP request to the switch but does not receive reply? Will the server display incomplete ARP in its ARP table, and the switch will display no entry?

That depends. If a host sends an ARP request to another host, including a router, but it has not yet received a reply then the host ARP table entry will be marked incomplete for the router IPv4 address.

What the router has in its ARP table depends on whether or not the router got the ARP request, and whether or not the router already has an ARP table entry for the host.

  • A router with an existing ARP table entry for the host will continue to have that entry until the router purges it due to a timeout. The timeout is not mandated by the RFC, but the RFC does have a section that deals with the possibility of using a timeout for ARP table entries, and most hosts do this:

    It may be desirable to have table aging and/or timeouts. The implementation of these is outside the scope of this protocol.

  • If the router never received the ARP request, and it had no entry for the host, then there will be no entry in the router ARP table.

  • If the router received the ARP request from the host, but the reply back to the host got lost, the router will have a complete ARP table entry for the host.


For an understanding of how ARP works, you should read RFC 826, An Ethernet Address Resolution Protocol -- or -- Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware. Remember that ARP works for IPv4, but not for IPv6, which has ND (Neighbor Discovery) instead of ARP.