diff options
author | Francis Dupont <fdupont@isc.org> | 2007-12-28 10:20:41 +0000 |
---|---|---|
committer | Francis Dupont <fdupont@isc.org> | 2007-12-28 10:20:41 +0000 |
commit | b51c785f98469adea2ce19a686669b8ef80c1111 (patch) | |
tree | 2fe3313d0eb3f116a973d9acd033443d9010e903 /client/dhc6.c | |
parent | 0674055a497f77f0f0ea83e3d178292fba45475e (diff) | |
download | isc-dhcp-b51c785f98469adea2ce19a686669b8ef80c1111.tar.gz |
Unicast options are taken into account only for RENEWs
Diffstat (limited to 'client/dhc6.c')
-rw-r--r-- | client/dhc6.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/client/dhc6.c b/client/dhc6.c index 764ab420..8024c256 100644 --- a/client/dhc6.c +++ b/client/dhc6.c @@ -2930,7 +2930,7 @@ do_refresh6(void *input) /* * Check whether the server has sent a unicast option; if so, we can - * use the address it specified. + * use the address it specified for RENEWs. */ oc = lookup_option(&dhcpv6_universe, lease->options, D6O_UNICAST); if (oc && evaluate_option_cache(&ds, NULL, NULL, NULL, @@ -2943,7 +2943,9 @@ do_refresh6(void *input) unicast.sin6_family = AF_INET6; unicast.sin6_port = remote_port; memcpy(&unicast.sin6_addr, ds.data, 16); - dest_addr = &unicast; + if (client->refresh_type == DHCPV6_RENEW) { + dest_addr = &unicast; + } } data_string_forget(&ds, MDL); |