Browse Source

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>
Jouni Malinen 10 years ago
parent
commit
a6b4ee217a
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/ap/ndisc_snoop.c

+ 6 - 0
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);