diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-11-30 10:21:50 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-11-30 10:23:33 +0900 |
commit | aaad20e0e1066ae9efa51251ecfa1c30a14dd323 (patch) | |
tree | c68240a49d75862756b1996092747f5b00fcb36d /src/network/networkd-address.c | |
parent | f3016c40e39c358d703fa11ae53822a60d0b42c6 (diff) | |
download | systemd-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/networkd-address.c')
-rw-r--r-- | src/network/networkd-address.c | 9 |
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; } |