Good. DHCP is one of those things you really have to fight with. Reading the RFC doesn't really prepare you for all the weird stuff that's found in the wild... I've had my share of "fun" fixing DHCP client, too ;-)
I admit that the DHCP client issues completely blindsided me. The code was originally written some 6-7 years ago, and I performed my own compliance testing (ahem) with the gear I had at hand at home. Written to conform to the original RFCs it worked as I expected it to.
But a couple of years later, the error reports came in, some of which were so bizarre that I struggled to put them into context. For example, in some cases the initial IP address allocation, etc. worked, but the renewal requests were consistently ignored. In other cases the initial IP address allocation consistently failed. How to make sense of that?
Well, I now know better, but I wonder if there is any lesson to be learned. The DHCP specs appear to make it too easy for implementors to come up with code that lacks robustness. When I wrote the PPP/PPPoE drivers from scratch, using the RFCs as the only reference, I never ran into the type of interoperability issues I faced with the DHCP client code
