core: clear IPv6 kernel token when deactivating a device

Clear the IPv6 kernel token when deactivating a device.
This commit is contained in:
Beniamino Galvani 2020-05-26 19:05:31 +02:00
parent 1d6b9953ad
commit 49305559dc
2 changed files with 2 additions and 1 deletions

View file

@ -15730,11 +15730,13 @@ nm_device_cleanup (NMDevice *self, NMDeviceStateReason reason, CleanupType clean
/* Take out any entries in the routing table and any IP address the device had. */
if (ifindex > 0) {
NMPlatform *platform = nm_device_get_platform (self);
NMUtilsIPv6IfaceId iid = { };
nm_platform_ip_route_flush (platform, AF_UNSPEC, ifindex);
nm_platform_ip_address_flush (platform, AF_UNSPEC, ifindex);
nm_platform_tfilter_sync (platform, ifindex, NULL);
nm_platform_qdisc_sync (platform, ifindex, NULL);
set_ipv6_token (self, iid, "::");
}
}

View file

@ -1572,7 +1572,6 @@ nm_platform_link_set_ipv6_token (NMPlatform *self, int ifindex, NMUtilsIPv6Iface
_CHECK_SELF (self, klass, FALSE);
g_return_val_if_fail (ifindex >= 0, FALSE);
g_return_val_if_fail (iid.id, FALSE);
if (klass->link_set_token)
return klass->link_set_token (self, ifindex, iid);