Created attachment 181028 [details]
Changes to enable supersede statement for option 54
The German cable internet provider Unitymedia (and possibily other ISPs from the Liberty Global group) uses DHCP relays which only answer to broadcasts. Dhclient renews WAN leases by sending unicasts to the relay, which doesn't forward them to the DHCP server. If, in the rebind phase, the broadcast packet is lost, the WAN IP expires, all connections are dropped and Dhclient needs to aquire a new lease.
The problem can be avoided by setting DHCP option 54 (dhcp-server-identifier) to 255.255.255.255. However, the required supersede statement for this option is not implemented in dhclient.c. Thus the DHCP client does not use the option and the value given by the DHCP server remains in effect (which points to the IP of the relay), which then results in the observed problem.
To solve this a section which checks if "supersede dhcp-server-identifier" is set has been added to dhclient.c (see "Start of the updated section" at line 855 in the attached file).
Created attachment 182031 [details]
clean patch for 11.0
I believe the attached patch is the essence of this request. The author hasn't given feedback yet, maybe Fabian could do this via this tracker instead?
(In reply to Franco Fichtner from comment #1)
Thanks, the patch looks good to me.