summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2019-03-27 16:55:19 +0100
committerHans Dedecker <dedeckeh@gmail.com>2019-03-27 17:07:26 +0100
commit420945ccf1bfa6c0a7cde5f3b6b9d51219d951b8 (patch)
treec3be0fe6d953db12a34688e47723248d39404588
parent6d23385242c918b0e00f5e21ed41dd655905752b (diff)
netlink: fix IPv6 address updates (FS#2204)
Keep the valid and preferred lifetimes in sync with the kernel by always updating the cached IPv6 addresses in refesh_iface_addr6(). This fixes invalid preferred and valid IA lifetimes in DHCPv6 reply messages due to the cached preferred and valid lifetimes not being in sync with the preferred and valid kernel lifetimes Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
-rw-r--r--src/netlink.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/netlink.c b/src/netlink.c
index c672748..c3536e7 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -212,7 +212,9 @@ static void refresh_iface_addr6(int ifindex)
}
if (!change) {
- free(addr);
+ free(iface->addr6);
+ iface->addr6 = addr;
+ iface->addr6_len = len;
return;
}