mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 14:55:37 +03:00
networkd: stop clients when networkd shuts down (#12463)
We not stopping the clients when networkd stops. They should shut down cleanly and then we need to clean the DS. One of requirements to implement https://github.com/systemd/systemd/issues/10820. ``` ^CBus bus-api-network: changing state RUNNING → CLOSED DHCP SERVER: UNREF DHCP SERVER: STOPPED DHCP CLIENT (0x60943df0): STOPPED veth-test: DHCP lease lost veth-test: Removing address 192.168.5.31 NDISC: Stopping IPv6 Router Solicitation client DHCP CLIENT (0x0): FREE ==24308== ==24308== HEAP SUMMARY: ==24308== in use at exit: 8,192 bytes in 2 blocks ==24308== total heap usage: 4,230 allocs, 4,228 frees, 1,209,732 bytes allocated ==24308== ==24308== LEAK SUMMARY: ==24308== definitely lost: 0 bytes in 0 blocks ==24308== indirectly lost: 0 bytes in 0 blocks ==24308== possibly lost: 0 bytes in 0 blocks ==24308== still reachable: 8,192 bytes in 2 blocks ==24308== suppressed: 0 bytes in 0 blocks ==24308== Rerun with --leak-check=full to see details of leaked memory ==24308== ==24308== For lists of detected and suppressed errors, rerun with: -s ==24308== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==24308== could not unlink /tmp/vgdb-pipe-from-vgdb-to-24308-by-sus-on-Zeus ==24308== could not unlink /tmp/vgdb-pipe-to-vgdb-from-24308-by-sus-on-Zeus ==24308== could not unlink /tmp/vgdb-pipe-shared-mem-vgdb-24308-by-sus-on-Zeus ```
This commit is contained in:
parent
deff4b87aa
commit
946f8e14d5
@ -736,7 +736,7 @@ static void link_enter_unmanaged(Link *link) {
|
||||
link_dirty(link);
|
||||
}
|
||||
|
||||
static int link_stop_clients(Link *link) {
|
||||
int link_stop_clients(Link *link) {
|
||||
int r = 0, k;
|
||||
|
||||
assert(link);
|
||||
|
@ -171,6 +171,8 @@ int dhcp6_configure(Link *link);
|
||||
int dhcp6_request_address(Link *link, int ir);
|
||||
int dhcp6_lease_pd_prefix_lost(sd_dhcp6_client *client, Link* link);
|
||||
|
||||
int link_stop_clients(Link *link);
|
||||
|
||||
const char* link_state_to_string(LinkState s) _const_;
|
||||
LinkState link_state_from_string(const char *s) _pure_;
|
||||
|
||||
|
@ -1446,6 +1446,9 @@ void manager_free(Manager *m) {
|
||||
while ((link = hashmap_steal_first(m->links))) {
|
||||
if (link->dhcp6_client)
|
||||
(void) dhcp6_lease_pd_prefix_lost(link->dhcp6_client, link);
|
||||
|
||||
link_stop_clients(link);
|
||||
|
||||
link_unref(link);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user