diff options
author | Hans Dedecker <dedeckeh@gmail.com> | 2019-03-27 16:55:19 +0100 |
---|---|---|
committer | Hans Dedecker <dedeckeh@gmail.com> | 2019-03-27 17:07:26 +0100 |
commit | 420945ccf1bfa6c0a7cde5f3b6b9d51219d951b8 (patch) | |
tree | c3be0fe6d953db12a34688e47723248d39404588 | |
parent | 6d23385242c918b0e00f5e21ed41dd655905752b (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.c | 4 |
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; } |