<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=532533009-18022009>All WinVerbs test
(client part) require host IP address as a parameter.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=532533009-18022009>We used to use IPv4
address as it is more comfortable.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=532533009-18022009>But if IPv6 protocol
is installed, which is default for Win2008, the connection code in the tests
doesn't work right.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=532533009-18022009>This patch suggest a
fix, that limiting the usage of host addresses to IPv4 only.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=532533009-18022009>The same limitation
exists today also in tools\perftests.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Index:
tests/perftest/rdma_bw/rdma_bw.c<BR>===================================================================<BR>---
tests/perftest/rdma_bw/rdma_bw.c (revision 1976)<BR>+++
tests/perftest/rdma_bw/rdma_bw.c (working copy)<BR>@@ -215,6 +215,8
@@<BR> rdma_ack_cm_event(event);<BR> } else
{<BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd
= socket(t->ai_family,
t->ai_socktype,<BR>
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR>@@ -382,6 +384,8
@@<BR> rdma_ack_cm_event(event); <BR> } else
{<BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd
= socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/rdma_lat/rdma_lat.c<BR>===================================================================<BR>---
tests/perftest/rdma_lat/rdma_lat.c (revision 1976)<BR>+++
tests/perftest/rdma_lat/rdma_lat.c (working copy)<BR>@@ -294,6 +294,8
@@<BR> rdma_ack_cm_event(event);<BR> } else
{<BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd
= socket(t->ai_family,
t->ai_socktype,<BR>
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR>@@ -437,6 +439,8
@@<BR> rdma_ack_cm_event(event); <BR> } else
{<BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd
= socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/read_bw/read_bw.c<BR>===================================================================<BR>---
tests/perftest/read_bw/read_bw.c (revision 1976)<BR>+++
tests/perftest/read_bw/read_bw.c (working copy)<BR>@@ -126,6 +126,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -206,6 +208,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/read_lat/read_lat.c<BR>===================================================================<BR>---
tests/perftest/read_lat/read_lat.c (revision 1976)<BR>+++
tests/perftest/read_lat/read_lat.c (working copy)<BR>@@ -201,6 +201,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -250,6 +252,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/send_bw/send_bw.c<BR>===================================================================<BR>---
tests/perftest/send_bw/send_bw.c (revision 1976)<BR>+++
tests/perftest/send_bw/send_bw.c (working copy)<BR>@@ -142,6 +142,8
@@<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR> sockfd = socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> if (sockfd !=
INVALID_SOCKET) {<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR> break;<BR>@@ -221,6 +223,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/send_lat/send_lat.c<BR>===================================================================<BR>---
tests/perftest/send_lat/send_lat.c (revision 1976)<BR>+++
tests/perftest/send_lat/send_lat.c (working copy)<BR>@@ -212,6 +212,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -261,6 +263,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/write_bw/write_bw.c<BR>===================================================================<BR>---
tests/perftest/write_bw/write_bw.c (revision 1976)<BR>+++
tests/perftest/write_bw/write_bw.c (working copy)<BR>@@ -135,6 +135,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -215,6 +217,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
tests/perftest/write_bw_postlist/write_bw_postlist.c<BR>===================================================================<BR>---
tests/perftest/write_bw_postlist/write_bw_postlist.c (revision 1976)<BR>+++
tests/perftest/write_bw_postlist/write_bw_postlist.c (working copy)<BR>@@
-138,6 +138,8 @@<BR> }<BR> <BR> for (t = res; t; t =
t->ai_next) {<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd >= 0)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -218,6 +220,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd >= 0)
{<BR> n = 1;<BR>Index:
tests/perftest/write_lat/write_lat.c<BR>===================================================================<BR>---
tests/perftest/write_lat/write_lat.c (revision 1976)<BR>+++
tests/perftest/write_lat/write_lat.c (working copy)<BR>@@ -198,6 +198,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -247,6 +249,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
ulp/libibverbs/examples/rc_pingpong/rc_pingpong.c<BR>===================================================================<BR>---
ulp/libibverbs/examples/rc_pingpong/rc_pingpong.c (revision 1976)<BR>+++
ulp/libibverbs/examples/rc_pingpong/rc_pingpong.c (working copy)<BR>@@
-137,6 +137,8 @@<BR> }<BR> <BR> for (t = res; t; t =
t->ai_next) {<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -205,6 +207,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
ulp/libibverbs/examples/srq_pingpong/srq_pingpong.c<BR>===================================================================<BR>---
ulp/libibverbs/examples/srq_pingpong/srq_pingpong.c (revision 1976)<BR>+++
ulp/libibverbs/examples/srq_pingpong/srq_pingpong.c (working copy)<BR>@@
-162,6 +162,8 @@<BR> }<BR> <BR> for (t = res; t; t =
t->ai_next) {<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd >= 0)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -246,6 +248,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd >= 0)
{<BR> n = 1;<BR>Index:
ulp/libibverbs/examples/uc_pingpong/uc_pingpong.c<BR>===================================================================<BR>---
ulp/libibverbs/examples/uc_pingpong/uc_pingpong.c (revision 1976)<BR>+++
ulp/libibverbs/examples/uc_pingpong/uc_pingpong.c (working copy)<BR>@@
-124,6 +124,8 @@<BR> }<BR> <BR> for (t = res; t; t =
t->ai_next) {<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -192,6 +194,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR>Index:
ulp/libibverbs/examples/ud_pingpong/ud_pingpong.c<BR>===================================================================<BR>---
ulp/libibverbs/examples/ud_pingpong/ud_pingpong.c (revision 1976)<BR>+++
ulp/libibverbs/examples/ud_pingpong/ud_pingpong.c (working copy)<BR>@@
-126,6 +126,8 @@<BR> }<BR> <BR> for (t = res; t; t =
t->ai_next) {<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> if (!connect(sockfd, t->ai_addr,
t->ai_addrlen))<BR>@@ -193,6 +195,8
@@<BR> }<BR> <BR> for (t = res; t; t = t->ai_next)
{<BR>+ if (t->ai_family !=
AF_INET)<BR>+ continue;<BR> sockfd =
socket(t->ai_family, t->ai_socktype,
t->ai_protocol);<BR> if (sockfd != INVALID_SOCKET)
{<BR> n = 1;<BR></FONT></DIV></BODY></HTML>