Iphlpapi!AddIpAddress() adds the IP address but other machines can’t locate this machine (Windows Server 2008)
On Windows Server 2003, when an IP Address is added to the machine’s adapter, a gratuitous ARP packet is broadcast to the network. This indicates to other machines that there is a change in the IP Address of a
machine with “this” MAC address, so other machines can update their ARP table to identify the machine correctly.
On Windows Server 2008 onwards, when an IP address is added to the machine’s adapter, a gratuitous ARP packet is not broadcast to the network. This causes other machines on the network to be unable to locate this machine because the ARP table on these machines (IP to MAC address) was not updated of this change. SendArp() and other methods (clearing ARP cache) will not be helpful.
As far as I know, this does not apply in cluster environment of Windows Server 2008, meaning a gratuitous ARP packet is broadcast to the network for a cluster IP Address change.
On Windows Server 2008, you can still send a gratuitous ARP packet on an IP Address change request, but you will need to implement it via NDIS. The NDISProt sample in WDK can be modified to achieve this so a gratuitous ARP packet is broadcast to network on an IP Address change.
More references- RFC 826, RFC 5227
Keywords- AddIpAddress, gratuitous ARP
Content developed by: Nitin Dhawan
Content reviewed by: Jeff Lambert
Comments
- Anonymous
July 26, 2013
Instead of writing a driver to workaround this bug (which isn't a very good solution), you can use the official Microsoft patch KB2811463: support.microsoft.com/.../2811463