Kernel Arp Patch

The linux kernel responds to arp requests originating from a source IP address of 0.0.0.0 with an invalid packet format. This needs to be patched in our kernel on the machine that will be running your dhcp server.

What happens is that linux will put it's own IP address in place of the dhcp client's IP, which is 0.0.0.0 when yet unconfigured, and rfc 826 specifies that if "I am not the target protocol address" during address resolution phase, that the packet should be discarded.

This is exactly what Apples Open Firmware does in version 3.3(?) that the G4 we are using have installed.

Since linux changes this value from sane to insane, the OF drops the arp reply packets and continues sending out "arp who-has" packets until it times out, gives up and boots MacOS.

This is only a problem when we use the "default-gateway-ip" setting in Open Firmware. Unfortunately, this setting is crucial for our boot control paradigm.

Arp Patch against 2.4.16

Peter