+ } else if (otype == DHCPV6_OPT_IA_PD) {
+#ifdef EXT_CER_ID
+ iov[7].iov_len = sizeof(cerid);
+
+ if (IN6_IS_ADDR_UNSPECIFIED(&cerid.addr)) {
+ struct odhcpd_ipaddr addrs[32];
+ ssize_t len = odhcpd_get_interface_addresses(0, addrs,
+ sizeof(addrs) / sizeof(*addrs));
+
+ for (ssize_t i = 0; i < len; ++i)
+ if (IN6_IS_ADDR_UNSPECIFIED(&cerid.addr)
+ || memcmp(&addrs[i].addr, &cerid.addr, sizeof(cerid.addr)) < 0)
+ cerid.addr = addrs[i].addr;
+ }
+#endif