From 528da64a0c734bd45e953b5c57d82e2a727435ef Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 30 Nov 2021 15:52:54 +0900 Subject: [PATCH] network: address: drop deprecated temporary address Fixes #19838. --- src/network/networkd-address.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 826b061f24e..f1bda88eeb2 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -1394,6 +1394,20 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message, address->scope = tmp->scope; address_set_lifetime(address, &cinfo); address_enter_configured(address); + + if (address->family == AF_INET6 && + address->source == NETWORK_CONFIG_SOURCE_FOREIGN && + FLAGS_SET(address->flags, IFA_F_SECONDARY | IFA_F_DEPRECATED)) { + + /* The temporary address became deprecated, i.e. preferred lifetime == 0. */ + log_address_debug(address, "Received deprecated", link); + r = address_remove(address); + if (r < 0) + link_enter_failed(link); + + return 0; + } + log_address_debug(address, "Received updated", link); } else { address_set_lifetime(tmp, &cinfo); -- 2.47.3