NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bin/57957: dhcpcd fails to unconfigure addresses from released lease



The following reply was made to PR bin/57957; it has been noted by GNATS.

From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
To: Roy Marples <roy%marples.name@localhost>
Cc: "Robert Elz" <kre%munnari.OZ.AU@localhost>,
	gnats-bugs%NetBSD.org@localhost,
	gnats-admin%NetBSD.org@localhost,
	netbsd-bugs%NetBSD.org@localhost
Subject: Re: bin/57957: dhcpcd fails to unconfigure addresses from released
	lease
Date: Sun, 25 Feb 2024 19:58:54 +0000

 > Date: Sun, 25 Feb 2024 16:31:10 +0000
 > From: Roy Marples <roy%marples.name@localhost>
 > 
 > No-one has posted yet what their expected address lifetimes are and
 > what they see from ifconfig.
 
 The main point of this PR is that even after I asked dhcpcd to release
 _everything_ with `dhcpcd -k' (no interface argument, because of
 https://gnats.NetBSD.org/57956), it deleted all addresses _except_ for
 the old DHCPv6 addresses.
 
 That is, before all this, ifconfig showed something like this, with
 everything under the old prefix 2001:db8:0:1111::/64 (sorry,
 this is from memory, I don't still have the console transcript):
 
 ure0: ...
 ...
         inet6 fe80::${URE_LLA}%ure0/64 flags 0 scopeid 0x2
         inet6 2001:db8:0:1111:${URE_SLAAC_GUA}/64 flags 0x40<AUTOCONF>
         inet6 fd...${URE_SLAAC_ULA}/64 flags 0x40<AUTOCONF>
         inet6 2001:db8:0:1111::1234/128 flags 0
         inet6 fd...:1234/128 flags 0
 ...
 
 dhcpcd -n successfully added the new address 2001:db8:0:2220::1234, so
 it looked something like this (not sure of the order of addresses, not
 100% sure it excluded the old SLAAC addresses):
 
 ure0: ...
 ...
         inet6 fe80::${URE_LLA}%ure0/64 flags 0 scopeid 0x2
         inet6 2001:db8:0:2220:${URE_SLAAC_GUA}/64 flags 0x40<AUTOCONF>
         inet6 fd...${URE_SLAAC_ULA}/64 flags 0x40<AUTOCONF>
         inet6 2001:db8:0:1111::1234/128 flags 0
         inet6 2001:db8:0:2220::1234/128 flags 0
         inet6 fd...:1234/128 flags 0
 ...
 
 Then when I ran dhcpcd -k, ifconfig showed this:
 
 ure0: ...
 ...
         inet6 fe80::${URE_LLA}%ure0/64 flags 0 scopeid 0x2
         inet6 2001:db8:0:1111::1234/128 flags 0
 ...
 
 (I forget whether it also had fd...:1234 left, sorry.  But it
 definitely didn't have any SLAAC addresses, or any DHCPv6 addresses
 with the new prefix.)
 
 At this point, dhcpcd was not running, and yet ure0 still had the old
 address.  But it did not have the new address.
 
 So `dhcpcd -k' succeeded in removing the new address, but failed to
 remove the old address.  I expected it would remove _all_ addresses
 that dhcpcd had configured for the interface.
 
 
 (Now, another issue is why did the system continue to use the old
 address as a source address, losing my IPv6 connectivity?  Also to be
 investigated, and perhaps related -- perhaps dhcpcd forgot about it
 and treated it as a manually configured address and somehow that led
 to its being the default source address -- but let's keep this PR
 focussed on how `dhcpcd -k' failed to unconfigure addresses it had
 previously configured.)
 


Home | Main Index | Thread Index | Old Index