When I run ip addr sh I see my secondary IPv6 addresses have deprecated next to them, whilst my primary IPv6 does not. Could someone help explain this ?

inet6 2001:DB8::aaaa/64 scope global deprecated 
valid_lft forever preferred_lft 0sec
inet6 2001:DB8::bbbb/64 scope global 
valid_lft forever preferred_lft forever
inet6 2001:DB8::cccc/64 scope global deprecated 

My /etc/network/interfaces looks like this :

allow-hotplug ens18
iface ens18 inet6 static
        address 2001:DB8::bbbb/64
        gateway 2001:DB8::ffff/64
        dns-nameservers 2001:DB8::1 2001:DB8::2

auto ens18:0
iface ens18:0 inet6 static
        name Sec1
        address 2001:DB8::aaaa/64

auto ens18:1
iface ens18:1 inet6 static
        name Sec2
        address 2001:DB8::cccc/64

1 Answer 1


deprecated address is an IPv6 concept described for example in RFC4862:

deprecated address - An address assigned to an interface whose use is discouraged, but not forbidden. A deprecated address should no longer be used as a source address in new communications, but packets sent from or to deprecated addresses are delivered as expected. A deprecated address may continue to be used as a source address in communications where switching to a preferred address causes hardship to a specific upper-layer activity (e.g., an existing TCP connection).

You can find that "deprecated" is printed by ip if IFA_F_DEPRECATED flag is set on an interface https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/tree/ip/ipaddress.c#n1195

I don't know which part of Debian init system sets IPv6 address to deprecated but you can try to create a new IPv6 address and mark it as deprecated using preferred_lft 0 flag with ip:

$ sudo ip  -6 addr add 2000:0db8:0:f101::1/64 dev eth0  preferred_lft 0
$ ip addr show | grep deprecated
    inet6 2000:db8:0:f101::1/64 scope global deprecated

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .