<!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.2912" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>Hi
Fab,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>I have been trying
to run netperf with WSD and the call to duplicate socket fails
there.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>The main reason is
probably the fact that the switch calls IBSPDuplicateSocket with a process id of
a wrong process (usually one of the svchosts).</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>Still (ignoring this
issue) it seems that there is a call to IBSPCloseSocket that calls
shutdown_and_destroy_socket_info. </SPAN></FONT><FONT face=Arial size=2><SPAN
class=871033416-13082006>In this call, we have old_state == IBSP_DUPLICATING_OLD
which causes us to not do anything at the QP level, and therefore the
code:</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006> while(
socket_info->send_cnt || socket_info->recv_cnt
)<BR> ib_cq_comp( socket_info->cq_tinfo );<BR></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>keeps looping
for ever. (recv_cnt is not 0)</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>I have created a
small patch that solves this problem (see bellow).</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>Please check if we
can apply it so we can start worknig with microsoft on the first problem (wrong
process id).</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006>Thanks</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006>Tzachi</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=871033416-13082006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=871033416-13082006>Index:
Q:/projinf4/trunk/ulp/wsd/user/ibsp_iblow.c<BR>===================================================================<BR>---
Q:/projinf4/trunk/ulp/wsd/user/ibsp_iblow.c (revision 1587)<BR>+++
Q:/projinf4/trunk/ulp/wsd/user/ibsp_iblow.c (working copy)<BR>@@ -1160,6
+1160,15 @@<BR> /* Nothing to do.
*/<BR> break;<BR> <BR>+ case
IBSP_DUPLICATING_OLD:<BR>+ {<BR>+ struct
disconnect_reason reason;<BR>+ memset( &reason, 0,
sizeof(reason) );<BR>+ reason.type =
DISC_SHUTDOWN;<BR>+ ib_disconnect( socket_info, &reason
);<BR>+ }<BR>+ break;<BR>+<BR> case
IBSP_CONNECTED:<BR> {<BR> struct
disconnect_reason reason;<BR></DIV></SPAN></FONT></BODY></HTML>