proxyarp: Print learned IPv6 address in debug log

This makes it easier to debug issues related to IPv6 address snooping.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2014-11-26 01:06:56 +02:00 committed by Jouni Malinen
parent a7fb5ea463
commit a6b4ee217a

View file

@ -89,6 +89,7 @@ static void handle_ndisc(void *ctx, const u8 *src_addr, const u8 *buf,
struct in6_addr *saddr; struct in6_addr *saddr;
struct sta_info *sta; struct sta_info *sta;
int res; int res;
char addrtxt[INET6_ADDRSTRLEN + 1];
if (len < ETH_HLEN + sizeof(*msg)) if (len < ETH_HLEN + sizeof(*msg))
return; return;
@ -110,6 +111,11 @@ static void handle_ndisc(void *ctx, const u8 *src_addr, const u8 *buf,
if (sta_has_ip6addr(sta, saddr)) if (sta_has_ip6addr(sta, saddr))
return; return;
if (inet_ntop(AF_INET6, saddr, addrtxt, sizeof(addrtxt))
== NULL)
addrtxt[0] = '\0';
wpa_printf(MSG_DEBUG, "ndisc_snoop: Learned new IPv6 address %s for "
MACSTR, addrtxt, MAC2STR(sta->addr));
hostapd_drv_br_delete_ip_neigh(hapd, 6, (u8 *) saddr); hostapd_drv_br_delete_ip_neigh(hapd, 6, (u8 *) saddr);
res = hostapd_drv_br_add_ip_neigh(hapd, 6, (u8 *) saddr, res = hostapd_drv_br_add_ip_neigh(hapd, 6, (u8 *) saddr,
128, sta->addr); 128, sta->addr);