Does a PCD automatically generate "gratuitous ARP" telegrams?
Some Ethernet devices do generate gratuitous ARP telegrams every time they are connected to an Ethernet network. This telegram informs the router that there is a new IP address on the network and causes it to update its internal MAC addresses table in case the according IP was already mapped to a MAC address.
If a device is replaced on a network and the new device does have the same IP address, it won't be reachable until the router (or other devices that communicate with the replaced system) refreshes the MAC address table.
The gratuitous ARP telegrams are one way to inform a router about a modification of the MAC address bound to an IP address.
Does a PCD generate gratuitous ARP telegrams?
No, a PCD (e.g. a PCD3, a PCD2.M5xxx or a PCD equipped with a PCD7.F655) does not generate gratuitous ARP telegrams when being connected to an Ethernet network (when it gets a "Link"). This feature is not implemented in the stack, and there are no plans for implementing this feature into the stack of the F655 because:
- there is a relatively easy to realize workaround available
- and the gratuitous ARP telegram is only required in case PCD is being replaced (which is not very often)
How to cause the router to update its MAC address?
Instead of relying on a gratuitous ARP telegram, a simple telegram can be sent to the router device every time the link is being detected (indicated by a rising edge of the "Diagnostic Flag+6", or as in the attached code example just regularly every 60 seconds). The telegram to be sent can be done by using the Open Data mode of the PCD.
Attached you can find a small code example which could be used on a PCD3 or a PCD2.M5xx0 (given no other ODM code is implemented on the system). This code can be added to a CPU in PG5 1.4.300 project using the "Add files..." (from the context menu of the "Program Files" folder of the CPU). Additionally, plase update the symbol "RemoteIP" within this file to a fitting IP address on you network and read the header of the file for more information how to work with this code.
PCD7 / Fxxx
Last update: 29.05.2015 08:47
First release: 13.10.2008 16:33