Address collision
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_InternetStatus 8 (Service Call &B0)
On entry
R0 = 8 (subreason code)
R1 = &B0 (reason code)
R2 = pointer to interface name (eg "ea0")
R3 = pointer to Driver Information Block for interface
R4 = IP address duplicated (network byte order)
R5 = pointer to hardware address of machine with duplicate IP address
On exit
R0,R2-R5 preserved.
R1 = 0 to claim service call, else preserved.
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.
|