<!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 6.0.6618.4">
<TITLE>What could prevent a gen2 x86 client qp from doing RDMA_READ on a gen1 PowerPC client?</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Her</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">e</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> is</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> my next an</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">d</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">hopefully</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> last problem.</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">As</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">described</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> earlier I</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">’</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">m connecting a gen2</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">x86 clients</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> to a gen1 PowerPC server</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">After having sorted out the</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">trouble</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">with</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> the CM</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">parameters I’m</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> now</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">having trouble</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">with</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> RDMA</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">read</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">from client</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">on the</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> server.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">What works is:</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">- </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">gen2</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">x86</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">client doing a VAPI_SEND to gen1</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">PowerPC</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">server. (this wasn</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">’</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">t</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">working</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> last time)</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">- </FONT></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">RDMA write from gen1 PowerPC server to gen2 x86 client</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">What is not working is:</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">- </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">RDMA</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">read from gen2 x86 client on</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">gen1 PowerPC server</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">.</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> I</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">’</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">m getting a</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">vendor</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">_error 0x81</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">VAPI_RETRY_EXC_ERR</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> in the send completion queue.</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">The RDMA start address,</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">length</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> and key have been exchanged</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> and look identical on both sides.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Doi</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">ng</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">connections and</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">transfer</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">s</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> between x86 only gen1</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">server</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">x86</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">gen2 client works</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> in all directions. (Send and receive as well as RDMA read and write)</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">So a gen2 client can do a RDMA read</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> from a gen1 ser</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">ver!</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> </SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Having a gen1 PowerPC server and a gen1 x86 client</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">works as well.</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">So a gen1 PowerPC server can be RDMA read from a</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">n</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> x86</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">client!</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">I</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">’</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">m again a little</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">puzzled</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">what can the gen2 server do wrong in a RDMA read on a PowerPC</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> server</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial"> when it can do the same operation a x86 server?</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Any ideas</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">,</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> thoughts</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">,</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> help</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">…</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">.</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> are more then welcome</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Thanks</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Thomas</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Here is my code I</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">’</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">m using to</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">do RDMA</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">I</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">’</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">m always having</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">only a single segment to be transmitted!</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"><FONT SIZE=2 FACE="Courier New">rdma(ibv_sge *sgList,</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Courier New"> int sgListlen,</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Courier New"> </FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New">int size,</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> bool write)</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New">{</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> struct ibv_send_wr wr;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> struct ibv_send_wr *bad_wr;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> int res;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> int localErrno = 0;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> uint64_t remainingBytes = ntohl(_remoteBufferInfo->totalSize);</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> sgList[0].length = remainingBytes;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> memset(&wr, 0, sizeof(wr));</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> wr.next = NULL;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> wr.wr_id = 1;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> wr.opcode = write ? IBV_WR_RDMA_WRITE : IBV_WR_RDMA_READ;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> wr.send_flags = IBV_SEND_SIGNALED;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> </FONT></SPAN><SPAN LANG="de"> <FONT SIZE=2 FACE="Courier New">wr.sg_list = sgList;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Courier New"> wr.num_sge =</FONT></SPAN><SPAN LANG="de"> <FONT SIZE=2 FACE="Courier New">1</FONT></SPAN><SPAN LANG="de"><FONT SIZE=2 FACE="Courier New">; </FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Courier New"> </FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New">wr.wr.rdma.remote_addr = ntohll(_remoteBufferInfo->sgList[0].addr); </FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> wr.wr.rdma.rkey = ntohl (_remoteBufferInfo->sgList[0].lkey);</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> cleanCq(_sCq);</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> res = ibv_post_send(_dataQp, &wr, &bad_wr);</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> if (res != 0)</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> {</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> DEBUG1("Error in RDMA operation scheduling: %s\n", strerror(res));</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New"> sv2BreakConnection();</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New"> localErrno = ENOTCONN;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New"> return 0;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> }</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> else</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> </FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New">{</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> if (waitOnCq(_sCq))</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New"> {</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New"> localErrno = -1;</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier New"> }</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New"> }</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier New">}</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de-de"></SPAN><A NAME=""><SPAN LANG="de-de"><FONT COLOR="#808080" SIZE=2 FACE="Arial">............................................................<BR>
Thomas Bub</FONT></SPAN></A><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de-de"><BR>
</SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de-de"><FONT COLOR="#808080" SIZE=2 FACE="Arial">Grass Valley Germany GmbH<BR>
Brunnenweg 9<BR>
64331 Weiterstadt, Germany<BR>
Tel: +49 6150 104 147<BR>
Fax: +49 6150 104 656<BR>
Email:</FONT></SPAN><SPAN LANG="de"> </SPAN><A HREF="mailto:Thomas.Bub@thomson.net"><SPAN LANG="de"></SPAN><SPAN LANG="de"><U></U></SPAN><U><SPAN LANG="de-de"><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">Thomas.Bub@thomson.net</FONT></SPAN></U><SPAN LANG="de"></SPAN></A><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de-de"><BR>
</SPAN><SPAN LANG="de"></SPAN><A HREF="http://www.grassvalley.com"><SPAN LANG="de"></SPAN><SPAN LANG="de"><U></U></SPAN><U><SPAN LANG="de-de"><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">www.GrassValley.com</FONT></SPAN></U><SPAN LANG="de"></SPAN></A><SPAN LANG="de"></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de-de"><BR>
<FONT COLOR="#808080" SIZE=2 FACE="Arial">............................................................</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="de-de"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de-de"></SPAN></P>
<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-gb"></SPAN></P>
</BODY>
</HTML>