]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: reorder dropping dynamic configuration
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 7 Nov 2024 01:13:37 +0000 (10:13 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 11 Nov 2024 02:53:24 +0000 (11:53 +0900)
Follow-up for 451c2baf30f50b95d73e648058c7c2348dbf0c31.

src/network/networkd-link.c

index f9047103c017a191e267feee5336dded8cf3e4e0..990203b528b9d3a17a4ab1cf9ddd174dc61e25f1 100644 (file)
@@ -1127,11 +1127,11 @@ static int link_drop_dynamic_config(Link *link, Network *network) {
          * previously DHCP=yes and now DHCP=no, but keep DHCP lease when DHCP setting is unchanged. */
 
         r = link_drop_ndisc_config(link, network);
-        RET_GATHER(r, link_drop_radv_config(link, network));
+        RET_GATHER(r, link_drop_radv_config(link, network)); /* Stop before dropping DHCP-PD prefixes. */
+        RET_GATHER(r, link_drop_ipv4ll_config(link, network)); /* Stop before DHCPv4 client. */
         RET_GATHER(r, link_drop_dhcp4_config(link, network));
         RET_GATHER(r, link_drop_dhcp6_config(link, network));
         RET_GATHER(r, link_drop_dhcp_pd_config(link, network));
-        RET_GATHER(r, link_drop_ipv4ll_config(link, network));
         link->dhcp_server = sd_dhcp_server_unref(link->dhcp_server);
         link->lldp_rx = sd_lldp_rx_unref(link->lldp_rx); /* TODO: keep the received neighbors. */
         link->lldp_tx = sd_lldp_tx_unref(link->lldp_tx);