chiark / gitweb /
path-util: fix path_is_mount_point() for symlinks
[elogind.git] / src / network / networkd-dhcp4.c
index 1c2edc5b876838631c952d18f877809b8352d5ec..38321905e6e6094cdb82117bf5ae139edab77d01 100644 (file)
@@ -586,7 +586,7 @@ int dhcp4_configure(Link *link) {
 
         assert(link);
         assert(link->network);
-        assert(IN_SET(link->network->dhcp, DHCP_SUPPORT_BOTH, DHCP_SUPPORT_V4));
+        assert(IN_SET(link->network->dhcp, ADDRESS_FAMILY_YES, ADDRESS_FAMILY_IPV4));
 
         r = sd_dhcp_client_new(&link->dhcp_client);
         if (r < 0)
@@ -661,5 +661,21 @@ int dhcp4_configure(Link *link) {
                         return r;
         }
 
+        switch (link->network->dhcp_client_identifier) {
+        case DHCP_CLIENT_ID_DUID:
+                /* Library defaults to this. */
+                break;
+        case DHCP_CLIENT_ID_MAC:
+                r = sd_dhcp_client_set_client_id(link->dhcp_client,
+                                                 ARPHRD_ETHER,
+                                                 (const uint8_t *) &link->mac,
+                                                 sizeof (link->mac));
+                if (r < 0)
+                        return r;
+                break;
+        default:
+                assert_not_reached("Unknown client identifier type.");
+        }
+
         return 0;
 }