]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: address: always update link state when an address is removed
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Nov 2022 01:21:50 +0000 (10:21 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Nov 2022 01:23:33 +0000 (10:23 +0900)
The removed address might be in the tentative state.

src/network/networkd-address.c

index 107f19fd154871f9733aa29f3e390f2976fc42b5..e6db72f4f467557bea6bfa25257c3fcc24e97791 100644 (file)
@@ -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;
 }