dhcpv4: make DHCPv4 support compiletime configurable
[project/odhcpd.git] / src / config.c
index 597d5c5..bb885d0 100644 (file)
@@ -239,11 +239,13 @@ static void close_interface(struct interface *iface)
        router_setup_interface(iface, false);
        dhcpv6_setup_interface(iface, false);
        ndp_setup_interface(iface, false);
+#ifdef DHCPV4_SUPPORT
        dhcpv4_setup_interface(iface, false);
+#endif
 
        clean_interface(iface);
        free(iface->addr4);
-       free(iface->ia_addr);
+       free(iface->addr6);
        free(iface->ifname);
        free(iface);
 }
@@ -449,13 +451,13 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr
        }
 
        if (get_addrs) {
-               ssize_t len = odhcpd_get_interface_addresses(iface->ifindex,
-                                               true, &iface->ia_addr);
+               ssize_t len = netlink_get_interface_addrs(iface->ifindex,
+                                               true, &iface->addr6);
 
                if (len > 0)
-                       iface->ia_addr_len = len;
+                       iface->addr6_len = len;
 
-               len = odhcpd_get_interface_addresses(iface->ifindex,
+               len = netlink_get_interface_addrs(iface->ifindex,
                                                false, &iface->addr4);
                if (len > 0)
                        iface->addr4_len = len;
@@ -846,7 +848,9 @@ void odhcpd_reload(void)
                        router_setup_interface(i, !i->ignore || i->ra != MODE_DISABLED);
                        dhcpv6_setup_interface(i, !i->ignore || i->dhcpv6 != MODE_DISABLED);
                        ndp_setup_interface(i, !i->ignore || i->ndp != MODE_DISABLED);
+#ifdef DHCPV4_SUPPORT
                        dhcpv4_setup_interface(i, !i->ignore || i->dhcpv4 != MODE_DISABLED);
+#endif
                } else
                        close_interface(i);
        }