Hello, Seed generation in dhclient.c:832 (at the moment of writing) assumes hardware addresses for all interfaces are properly discovered and filled in into interfaces static variables. But if dhclient is used for IPv6 PD it's not the case because only interfaces used for PD itself is discovered. hw_addr field of others ones are zero'ed (which is the bug by itself). This becomes problem once ppp0 is used for ipv6 prefix delegation (with patch like https://src.fedoraproject.org/rpms/dhcp/blob/master/f/dhcp-PPP.patch) as the result duid of the system changes between restart which leads to network outage because ISP doesn't recognize the client properly. Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=832712 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1163379 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1329210 This patch is probably related to [ISC-Bugs #38144]) and [ISC-Bugs #24249]) diff --git a/common/discover.c b/common/discover.c index 26a78ca..ed01e45 100644 --- a/common/discover.c +++ b/common/discover.c @@ -635,6 +635,8 @@ discover_interfaces(int state) { interface_dereference(&tmp, MDL); tmp = interfaces; /* XXX */ } + if (tmp != NULL) + get_hw_addr(tmp); if (dhcp_interface_discovery_hook) { (*dhcp_interface_discovery_hook)(tmp); -- PAVEL ZHUKOV SOFTWARE ENGINEER, RHCE, RHCVA Red Hat