projects
/
project
/
odhcpd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dhcpv6: assign all viable DHCPv6 addresses by default (FS#402, FS#524)
[project/odhcpd.git]
/
src
/
dhcpv6-ia.c
diff --git
a/src/dhcpv6-ia.c
b/src/dhcpv6-ia.c
index
502373f
..
847ede4
100644
(file)
--- a/
src/dhcpv6-ia.c
+++ b/
src/dhcpv6-ia.c
@@
-36,7
+36,7
@@
#include <libubox/usock.h>
#define ADDR_ENTRY_VALID_IA_ADDR(iface, i, m, addrs) \
#include <libubox/usock.h>
#define ADDR_ENTRY_VALID_IA_ADDR(iface, i, m, addrs) \
- ((iface)->
managed == RELAYD_MANAGED_NO_AFLAG
|| (i) == (m) || \
+ ((iface)->
dhcpv6_assignall
|| (i) == (m) || \
(addrs)[(i)].prefix > 64)
static void free_dhcpv6_assignment(struct dhcpv6_assignment *c);
(addrs)[(i)].prefix > 64)
static void free_dhcpv6_assignment(struct dhcpv6_assignment *c);
@@
-657,7
+657,8
@@
void dhcpv6_ia_preupdate(struct interface *iface)
&iface->ia_assignments, struct dhcpv6_assignment, head);
list_for_each_entry(c, &iface->ia_assignments, head)
&iface->ia_assignments, struct dhcpv6_assignment, head);
list_for_each_entry(c, &iface->ia_assignments, head)
- if (c != border && !iface->managed && (c->flags & OAF_BOUND))
+ if (c != border && iface->ra_managed == RA_MANAGED_NO_MFLAG
+ && (c->flags & OAF_BOUND))
apply_lease(iface, c, false);
}
apply_lease(iface, c, false);
}