void gnrc_ipv6_netif_remove(kernel_pid_t pid) { gnrc_ipv6_netif_t *entry = gnrc_ipv6_netif_get(pid); if (entry == NULL) { return; } #ifdef MODULE_GNRC_NDP gnrc_ndp_netif_remove(entry); #endif mutex_lock(&entry->mutex); _reset_addr_from_entry(entry); DEBUG("ipv6 netif: Remove IPv6 interface %" PRIkernel_pid "\n", pid); entry->pid = KERNEL_PID_UNDEF; entry->flags = 0; mutex_unlock(&entry->mutex); }
static void _ipv6_netif_remove(gnrc_ipv6_netif_t *entry) { if (entry == NULL) { return; } #ifdef MODULE_GNRC_NDP gnrc_ndp_netif_remove(entry); #endif mutex_lock(&entry->mutex); xtimer_remove(&entry->rtr_sol_timer); #ifdef MODULE_GNRC_NDP_ROUTER xtimer_remove(&entry->rtr_adv_timer); #endif _reset_addr_from_entry(entry); DEBUG("ipv6 netif: Remove IPv6 interface %" PRIkernel_pid "\n", entry->pid); entry->pid = KERNEL_PID_UNDEF; entry->flags = 0; mutex_unlock(&entry->mutex); }