From e80baca56a093064be4e2f0009752a3b2efd8b84 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Tue, 18 Nov 2014 11:28:14 +0000 Subject: [PATCH] If we don't have a hwlen and no clientid has been set, force a DUID based ClientID. --- dhcpcd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dhcpcd.c b/dhcpcd.c index d6ac4258..28dbe89f 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -383,9 +383,13 @@ configure_interface1(struct interface *ifp) /* If we haven't specified a ClientID and our hardware address * length is greater than DHCP_CHADDR_LEN then we enforce a ClientID - * of the hardware address family and the hardware address. */ + * of the hardware address family and the hardware address. + * If there is no hardware address and no ClientID set, + * force a DUID based ClientID. */ if (ifp->hwlen > DHCP_CHADDR_LEN) ifo->options |= DHCPCD_CLIENTID; + else if (ifp->hwlen == 0 && !(ifo->options & DHCPCD_CLIENTID)) + ifo->options |= DHCPCD_CLIENTID | DHCPCD_DUID; /* Firewire and InfiniBand interfaces require ClientID and * the broadcast option being set. */ -- 2.47.3