autoip: fix 'autoip_remove_struct()' after changing storage to 'netif_client_data'

Reported-by: Amena El Homsi <amena.elhomsi@gmail.com>
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
This commit is contained in:
Simon Goldschmidt
2019-11-21 22:19:35 +01:00
parent 79cd89f99d
commit 03998f5147
2 changed files with 18 additions and 2 deletions

View File

@@ -109,6 +109,23 @@ autoip_set_struct(struct netif *netif, struct autoip *autoip)
netif_set_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_AUTOIP, autoip);
}
/**
* @ingroup autoip
* Remove a struct autoip previously set to the netif using autoip_set_struct()
*
* @param netif the netif for which to set the struct autoip
*/
void
autoip_remove_struct(struct netif *netif)
{
LWIP_ASSERT_CORE_LOCKED();
LWIP_ASSERT("netif != NULL", netif != NULL);
LWIP_ASSERT("netif has no struct autoip set",
netif_autoip_data(netif) != NULL);
netif_set_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_AUTOIP, NULL);
}
/** Restart AutoIP client and check the next address (conflict detected)
*
* @param netif The netif under AutoIP control