From a6b4ee217aa45f668793c4540b3bcdf2caa8f427 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 26 Nov 2014 01:06:56 +0200 Subject: [PATCH] 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 --- src/ap/ndisc_snoop.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ap/ndisc_snoop.c b/src/ap/ndisc_snoop.c index 755621c56..39d15c7fb 100644 --- a/src/ap/ndisc_snoop.c +++ b/src/ap/ndisc_snoop.c @@ -89,6 +89,7 @@ static void handle_ndisc(void *ctx, const u8 *src_addr, const u8 *buf, struct in6_addr *saddr; struct sta_info *sta; int res; + char addrtxt[INET6_ADDRSTRLEN + 1]; if (len < ETH_HLEN + sizeof(*msg)) return; @@ -110,6 +111,11 @@ static void handle_ndisc(void *ctx, const u8 *src_addr, const u8 *buf, if (sta_has_ip6addr(sta, saddr)) 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); res = hostapd_drv_br_add_ip_neigh(hapd, 6, (u8 *) saddr, 128, sta->addr);