projects
/
project
/
odhcpd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
odhcpd: use proper struct msghdr initializers to fix build error on musl
[project/odhcpd.git]
/
src
/
dhcpv6-ia.c
diff --git
a/src/dhcpv6-ia.c
b/src/dhcpv6-ia.c
index
6ece528
..
d103ecb
100644
(file)
--- 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 {
#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),
struct dhcpv6_ia_addr n = {
.type = htons(DHCPV6_OPT_IA_ADDR),
.len = htons(sizeof(n) - 4),
@@
-813,6
+810,10
@@
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;
n.addr.s6_addr32[3] = htonl(a->assigned);
size_t entrlen = sizeof(n) - 4;
+ if (!a->accept_reconf && iface->managed < RELAYD_MANAGED_NO_AFLAG &&
+ addrs[i].prefix == 64)
+ n.preferred = htonl(1);
+
#ifdef DHCPV6_OPT_PREFIX_CLASS
if (iface->ia_addr[i].has_class) {
entrlen += sizeof(pclass);
#ifdef DHCPV6_OPT_PREFIX_CLASS
if (iface->ia_addr[i].has_class) {
entrlen += sizeof(pclass);