else if (hwaddr->len == INFINIBAND_ALEN)
return ARPHRD_INFINIBAND;
else
- g_assert_not_reached ();
+ return ARPHRD_NONE;
}
static gboolean
const char *hostname, *fqdn;
int r, i;
gboolean success = FALSE;
+ guint16 arp_type;
g_assert (priv->client4 == NULL);
g_assert (priv->client6 == NULL);
hwaddr = nm_dhcp_client_get_hw_addr (client);
if (hwaddr) {
+ arp_type= get_arp_type (hwaddr);
+ if (arp_type == ARPHRD_NONE) {
+ nm_log_warn (LOGD_DHCP4, "(%s): failed to determine ARP type", iface);
+ goto error;
+ }
+
r = sd_dhcp_client_set_mac (priv->client4,
hwaddr->data,
hwaddr->len,
- get_arp_type (hwaddr));
+ arp_type);
if (r < 0) {
nm_log_warn (LOGD_DHCP4, "(%s): failed to set DHCP MAC address (%d)", iface, r);
goto error;