Getting dhcpcd to pass BCT?
Michael Sweet
Tue Jun 02 18:10:21 2020
Hi,
I'm in the process of developing a Raspberry Pi-based solution using Yocto Zeus (3.0.3), dhcpcd (now at v9.1.0), and Avahi (0.8), which needs to pass Apple's Bonjour Conformance Test. My primary goal is for this to work with a Raspberry Pi Zero Wireless, but I've also tested with a Pi 3b with the same results over both Ethernet and Wi-Fi. I could easily update to the current Yocto Dunfell (3.1) if that will make a difference, but at this point I don't think it will...
Anyways, I'm running dhcpcd with debug logging enabled and can't seem to get past the initial link-local tests. dhcpcd correctly chooses a semi-random initial IPv4LL address and then (after BCT announces collisions) tries several other addresses before giving up and sticking with its original choice. BCT naturally doesn't like this...
I've been digging through the source but am still coming up to speed to understand how dhcpcd decides to stop trying new IPv4LL addresses, and how this might be fixed (or if this is even the problem...) I was also wondering why dhcpcd only chooses 169.254.x.0 addresses on my Pi - the code looks like it should have randomness in the entire lower 16 bits of the IPv4 address...
Thanks in advance for any help you can provide!
________________________
Michael Sweet
Archive administrator: postmaster@marples.name