<div dir="ltr"><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="" style="font-family:arial,sans-serif;font-size:14px"><div class="im"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div>>     I have installed the latest OFED-3.5-2 daily software on SLES 11.2 x86-64<br>> with Mellanox Technologies MT26428 [ConnectX VPI. PCIe 2.0 5GT/s - IB QDR /<br>> 10GigE].<br>>    When MT26428 is in IB mode, all works fine. But when it switches into the<br>

> ethernet mode becoming a RoCE card, some error comes out. If the server<br>> application program uses rdma cm APIs (rdma_bind and rdma_listen) listening on<br>> IPv6 address like "::", it will refuse the connection launched by rdma_connect.<br>

> The errno is set to be ECONNREFUSED. However, if server listens on IPv4 address<br>> like "0.0.0.0" or "0", the connection is successful.<br>>    I've found some patch:<br>>    <a href="http://comments.gmane.org/gmane.linux.drivers.rdma/16448" target="_blank">http://comments.gmane.org/gmane.linux.drivers.rdma/16448</a><br>

>    But I'm not sure whether it's relevant to the issue I experienced above.<br>> Has any one seen this bug ?<br><br></div>I don't recall that patch series touching anything outside of iwarp, so it shouldn't be relevant.  Do you know if this worked in the previous version of OFED?<br>

<br>I recall some patches on the mail list regarding how RoCE formed GIDs.  I don't know if those were pulled into 3.5-2 or not.<br><br>- Seans<br></blockquote></div><br></div></div></div><div class="gmail_extra" style="font-family:arial,sans-serif;font-size:14px">

 I thought that patch series are relevant because in the kernel the handler functions of rdma_listen behave differently between ib and ethernet. </div><div class="gmail_extra" style="font-family:arial,sans-serif;font-size:14px">

 int rdma_listen(struct rdma_cm_id *id, int backlog)<br> {<br>     ...<br><br>     if (id->device) {<br>        switch (rdma_node_get_transport(id->device->node_type)) {<br>            case RDMA_TRANSPORT_IB:                                             // in IB mode<br>

                ret = cma_ib_listen(id_priv);<br>                if (ret)<br>                   goto err;<br>                break;<br>            case RDMA_TRANSPORT_IWARP:                                     // in Ethernet mode<br>

                ret = cma_iw_listen(id_priv, backlog);<br>                if (ret)<br>                   goto err;<br>                break;<br>            default:<br>                ret = -ENOSYS;<br>                goto err;<br>

            }<br>    }</div><div class="gmail_extra" style="font-family:arial,sans-serif;font-size:14px">    ...<br> }</div><div class="gmail_extra" style="font-family:arial,sans-serif;font-size:14px"> I've tested OFED-3.5 and OFED-3.5-2, both failed.</div>

<div class="gmail_extra" style="font-family:arial,sans-serif;font-size:14px"> Besides, I've done some other tests. Once I set sin_family to be AF_INET6 before rdma_bind and rdma_listen, the server will refuse the connection request. It seems that Ethernet mode can not handle IPv6 address. </div>

<br></div></div>