if (init_dhcpv4())
return 4;
- if (init_ubus())
- return 4;
-
odhcpd_run();
return 0;
}
int odhcpd_get_mac(const struct interface *iface, uint8_t mac[6])
{
struct ifreq ifr;
+ memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, iface->ifname, sizeof(ifr.ifr_name));
if (ioctl(ioctl_sock, SIOCGIFHWADDR, &ifr) < 0)
return -1;
if (ifa->ifa_flags & IFA_F_DEPRECATED)
addrs[ret].preferred = 0;
+ addrs[ret].has_class = false;
+ addrs[ret].class = 0;
+#ifdef WITH_UBUS
+ struct interface *iface = odhcpd_get_interface_by_index(ifindex);
+ if (iface)
+ addrs[ret].has_class = ubus_get_class(iface->ifname,
+ &addrs[ret].addr, &addrs[ret].class);
+#endif
++ret;
}