diff -aurp open-iscsi-2.0-868-test1/usr/isns.c open-iscsi-2.0-868-test1.work/usr/isns.c
--- open-iscsi-2.0-868-test1/usr/isns.c 2008-03-03 09:36:11.000000000 -0600
+++ open-iscsi-2.0-868-test1.work/usr/isns.c 2008-03-03 09:38:03.000000000 -0600
@@ -286,7 +286,10 @@ static void add_new_target_node(char *ta
char dst[INET6_ADDRSTRLEN];
memset(dst, 0, sizeof(dst));
- if (!memcmp(ip, dst, 10) && ip[10] == 0xff && ip[11] == 0xff)
+ /*
+ * some servers are sending compat instead of mapped
+ */
+ if (IN6_IS_ADDR_V4MAPPED(ip) || IN6_IS_ADDR_V4COMPAT(ip))
inet_ntop(AF_INET, ip + 12, dst, sizeof(dst));
else
inet_ntop(AF_INET6, ip, dst, sizeof(dst));