<!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>