Yesterday, I wrote an article about a new ESXCLI command that will be available as part of the soon to be released vSphere 5.5 release which allows a user to clear the ARP cache on an ESXi 5.5 host. It was my understanding that with past releases of ESXi, that it is not possible to clear the ARP cache. While working on that article, I came across an internal thread and learned that it was possible to clear ARP entries prior to ESXi 5.5, however the method is not as ideal as using the new ESXCLI command.
Disclaimer: This is not officially supported by VMware, please use at your own risk
In ESXi 5.1, you can list the current ARP entries for an ESXi host by running the following ESXCLI command:
esxcli network ip neighbor list
To clear a particular ARP entry, you will need to use the unsupported vsish interface. To delete a specific ARP entry, you will need to run the following command:
vsish -e set /net/tcpip/v4/neighbor del [IP-ADDRESS]
Here is a screenshot of listing the current ARP entries using ESXCLI and then deleting one of entries using vsish:
As mentioned in my previous article, I am glad we have made this into an official command in ESXCLI 5.5, but if you are in a crunch you can still clear an ARP entry if you are not running ESXi 5.5 using vsish.
Do you know if there's a way to check the limit for the vsphere arp table entry? and possibly decrease or increase that limit?
William Lam says
I'm not aware of any way to do so. If this is something you may need, would recommend filing an SR, at least it can be track for priority/impact.
Todd Smith says
Is there a way to do this for ipv6 addresses? Seems to work fine for v4 but can't get it to work on v6 at all.