Lines Matching refs:iaaddr
279 static int option_append_ia_address(uint8_t **buf, size_t *buflen, const struct iaaddr *address) { in option_append_ia_address()
280 struct iaaddr a; in option_append_ia_address()
289 a = (struct iaaddr) { in option_append_ia_address()
293 r = option_append_hdr(buf, buflen, SD_DHCP6_OPTION_IAADDR, sizeof(struct iaaddr)); in option_append_ia_address()
297 *buf = mempcpy(*buf, &a, sizeof(struct iaaddr)); in option_append_ia_address()
298 *buflen -= sizeof(struct iaaddr); in option_append_ia_address()
300 return offsetof(DHCP6Option, data) + sizeof(struct iaaddr); in option_append_ia_address()
382 r = option_append_ia_address(buf, buflen, &addr->iaaddr); in dhcp6_option_append_ia()
600 if (len < sizeof(struct iaaddr)) in dhcp6_option_parse_ia_address()
607 memcpy(&a->iaaddr, data, sizeof(struct iaaddr)); in dhcp6_option_parse_ia_address()
609 lt_valid = be32toh(a->iaaddr.lifetime_valid); in dhcp6_option_parse_ia_address()
610 lt_pref = be32toh(a->iaaddr.lifetime_preferred); in dhcp6_option_parse_ia_address()
621 if (len > sizeof(struct iaaddr)) { in dhcp6_option_parse_ia_address()
622 …= dhcp6_option_parse_ia_options(client, data + sizeof(struct iaaddr), len - sizeof(struct iaaddr)); in dhcp6_option_parse_ia_address()