<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [Openib-windows] RE: Errors handeling on Winsock direct</TITLE>
</HEAD>
<BODY>
<BR>
<BR>

<P><FONT SIZE=2>> From: Fab Tillier [<A HREF="mailto:ftillier@silverstorm.com">mailto:ftillier@silverstorm.com</A>]</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> > As a meter of fact the problem is harder, since the function ib_cq_comp</FONT>
<BR><FONT SIZE=2>> > doesn't have a way to return an error. Please note that returning 0 is not</FONT>
<BR><FONT SIZE=2>> > enough because 0 is a legal option if nothing was found. As  a result, there</FONT>
<BR><FONT SIZE=2>> > is a need to change all the callers of this function, so  that the error will</FONT>
<BR><FONT SIZE=2>> > be propagated to there caller.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> What will the callers do with the propagated value?  Would all cases of errors</FONT>
<BR><FONT SIZE=2>> on the CQ be accompanied by async affiliated error  notification for that CQ?</FONT>
<BR><FONT SIZE=2>> What about for the QP?</FONT>
<BR><FONT SIZE=2>> </FONT>
</P>

<P><FONT SIZE=2>Not sure I understand the question, but in general there are problems that are:</FONT>
<BR><FONT SIZE=2>- reported to the CQ (without async error), those are errors that have a WQE </FONT>
<BR><FONT SIZE=2>   affiliated with them</FONT>
<BR><FONT SIZE=2>- reported as async errors, no CQE generated because there is no WQE affiliated with them</FONT>
<BR><FONT SIZE=2>- reported as async errors because CQ overflows</FONT>
</P>

<P><FONT SIZE=2>I guess that the SAN provider has to catch all of those (unless you can guarantee by</FONT>
<BR><FONT SIZE=2>design that they will never happen) and somehow propagate them up the stack so that WSD</FONT>
<BR><FONT SIZE=2>can report them to the application. For example, if the QP times-out, then it needs to</FONT>
<BR><FONT SIZE=2>be ultimately reported to the application that the socket has also timed out.</FONT>
</P>

<P><FONT SIZE=2>-Dror</FONT>
</P>

</BODY>
</HTML>