[ewg] IPv6 over Ethernet (RoCE) is broken

Jie Yang frank.yangjie at gmail.com
Wed Aug 21 00:50:44 PDT 2013


> >     I have installed the latest OFED-3.5-2 daily software on SLES 11.2
> x86-64
> > with Mellanox Technologies MT26428 [ConnectX VPI. PCIe 2.0 5GT/s - IB
> QDR /
> > 10GigE].
> >    When MT26428 is in IB mode, all works fine. But when it switches into
> the
> > ethernet mode becoming a RoCE card, some error comes out. If the server
> > application program uses rdma cm APIs (rdma_bind and rdma_listen)
> listening on
> > IPv6 address like "::", it will refuse the connection launched by
> rdma_connect.
> > The errno is set to be ECONNREFUSED. However, if server listens on IPv4
> address
> > like "0.0.0.0" or "0", the connection is successful.
> >    I've found some patch:
> >    http://comments.gmane.org/gmane.linux.drivers.rdma/16448
> >    But I'm not sure whether it's relevant to the issue I experienced
> above.
> > Has any one seen this bug ?
>
> 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?
>
> 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.
>
> - Seans
>

 I thought that patch series are relevant because in the kernel the handler
functions of rdma_listen behave differently between ib and ethernet.
 int rdma_listen(struct rdma_cm_id *id, int backlog)
 {
     ...

     if (id->device) {
        switch (rdma_node_get_transport(id->device->node_type)) {
            case RDMA_TRANSPORT_IB:
    // in IB mode
                ret = cma_ib_listen(id_priv);
                if (ret)
                   goto err;
                break;
            case RDMA_TRANSPORT_IWARP:
// in Ethernet mode
                ret = cma_iw_listen(id_priv, backlog);
                if (ret)
                   goto err;
                break;
            default:
                ret = -ENOSYS;
                goto err;
            }
    }
    ...
 }
 I've tested OFED-3.5 and OFED-3.5-2, both failed.
 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ewg/attachments/20130821/84517f4b/attachment.html>


More information about the ewg mailing list