summaryrefslogtreecommitdiffhomepage
path: root/src/dhcpv6-ia.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dhcpv6-ia.c')
-rw-r--r--src/dhcpv6-ia.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c
index 6ece528..b21b39e 100644
--- a/src/dhcpv6-ia.c
+++ b/src/dhcpv6-ia.c
@@ -800,9 +800,6 @@ static size_t append_reply(uint8_t *buf, size_t buflen, uint16_t status,
#endif
datalen += entrlen + 4;
} else {
- if (!a->accept_reconf && iface->managed < RELAYD_MANAGED_NO_AFLAG)
- prefix_pref = 1;
-
struct dhcpv6_ia_addr n = {
.type = htons(DHCPV6_OPT_IA_ADDR),
.len = htons(sizeof(n) - 4),
@@ -813,6 +810,9 @@ static size_t append_reply(uint8_t *buf, size_t buflen, uint16_t status,
n.addr.s6_addr32[3] = htonl(a->assigned);
size_t entrlen = sizeof(n) - 4;
+ if (!a->accept_reconf && iface->managed < RELAYD_MANAGED_NO_AFLAG)
+ n.preferred = htonl(1);
+
#ifdef DHCPV6_OPT_PREFIX_CLASS
if (iface->ia_addr[i].has_class) {
entrlen += sizeof(pclass);