Introduction
The Internet module now issues a service when it detects another system on the network with the same address. Components may recover from this by reconfiguring the interface.
Service calls
R0 | = | 8 (subreason code) |
R1 | = | &B0 (reason code) |
R2 | = | pointer to zero-terminated interface name, eg 'ea0' |
R3 | = | pointer to Driver Information Block for interface |
R4 | = | IPv4 address which has been duplicated (network byte order) |
R5 | = | pointer to hardware address of system with a duplicate IP address |
R0 - R5 | preserved | |
R0 | = | 0 to claim service when duplicate address has been resolved, or preserved to shut down the Internet module |
This service call is issued by the Internet module (version 5.08 or later) when it detects a machine using a duplicate IP address. This is normally detected when an incoming ARP packet is received with our IP address but a different hardware address.
As a probe, whenever an interface is reconfigured, the Internet module sends out an ARP request for our IP address to make any such machines reply. That will then trigger this service call.
Normally, the Internet module will shut down outright as a safety measure if this happens. However, if this service call is claimed it will continue operation. It is expected that anyone claiming this service call should take appropriate action; for example the DHCP module might remove our IP address, send a DHCPDECLINE message and go back into the DHCP INIT state.