summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-11-30 10:21:50 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-11-30 10:23:33 +0900
commitaaad20e0e1066ae9efa51251ecfa1c30a14dd323 (patch)
treec68240a49d75862756b1996092747f5b00fcb36d /src/network
parentf3016c40e39c358d703fa11ae53822a60d0b42c6 (diff)
downloadsystemd-aaad20e0e1066ae9efa51251ecfa1c30a14dd323.tar.gz
network: address: always update link state when an address is removed
The removed address might be in the tentative state.
Diffstat (limited to 'src/network')
-rw-r--r--src/network/networkd-address.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index 107f19fd15..e6db72f4f4 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -504,13 +504,11 @@ static int address_update(Address *address) {
static int address_drop(Address *address) {
Link *link;
- bool ready;
int r;
assert(address);
assert(address->link);
- ready = address_is_ready(address);
link = address->link;
r = address_set_masquerade(address, false);
@@ -522,11 +520,8 @@ static int address_drop(Address *address) {
if (address->state == 0)
address_free(address);
- link_update_operstate(link, true);
-
- if (link && !ready)
- link_check_ready(link);
-
+ link_update_operstate(link, /* also_update_master = */ true);
+ link_check_ready(link);
return 0;
}