It appears that I will implement zeroConf myself. It is not a complex protocol, in fact very simple:
- choose a pseudo-random class B IP address (169.254.xxx.yyy based on the device's MAC)
- send an arp request for that IP
- if no response: the device claims the IP as its own
- if there is an arp response, then repeat the arp request for the next IP
It's a simple protocol, a simple implementation, but does get a bit complicated as you adhere to timers and retries and what-not, as per the protocol (RFC3927).