5

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

1 Answer 1

8

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.