+ case DH6OPT_IA_ADDR:
+ if (optlen < sizeof(ia_addr) - 4) {
+ printf(" ?)");
+ break;
+ }
+ memcpy(&ia_addr, (u_char *)dh6o, sizeof(ia_addr));
+ printf(" %s",
+ ip6addr_string(&ia_addr.dh6opt_ia_addr_addr));
+ ia_addr.dh6opt_ia_addr_pltime =
+ ntohl(ia_addr.dh6opt_ia_addr_pltime);
+ ia_addr.dh6opt_ia_addr_vltime =
+ ntohl(ia_addr.dh6opt_ia_addr_vltime);
+ printf(" pltime:%lu vltime:%lu",
+ (unsigned long)ia_addr.dh6opt_ia_addr_pltime,
+ (unsigned long)ia_addr.dh6opt_ia_addr_vltime);
+ if (optlen > sizeof(ia_addr) - 4) {
+ /* there are sub-options */
+ dhcp6opt_print((u_char *)dh6o +
+ sizeof(ia_addr),
+ (u_char *)(dh6o + 1) + optlen);
+ }
+ printf(")");
+ break;