<html><body>
<p>Hello Ralph,<br>
<br>
        I looked at ehca and mthca, in create_ah(), both driver didn't check dlid condition check like ipath here. In the port initilizaiton, priv->local_lid is set to 0 which is created by ipoib_0190_unsig_udqp.patch in RC4. I will let Eli look at this problem.<br>
<br>
static struct ib_ah *ipath_create_ah(struct ib_pd *pd,<br>
                                     struct ib_ah_attr *ah_attr)<br>
{<br>
        struct ipath_ah *ah;<br>
        struct ib_ah *ret;<br>
        struct ipath_ibdev *dev = to_idev(pd->device);<br>
        unsigned long flags;<br>
<br>
        /* A multicast address requires a GRH (see ch. 8.4.1). */<br>
        if (ah_attr->dlid >= IPATH_MULTICAST_LID_BASE &&<br>
            ah_attr->dlid != IPATH_PERMISSIVE_LID &&<br>
            !(ah_attr->ah_flags & IB_AH_GRH)) {<br>
                ret = ERR_PTR(-EINVAL);<br>
                goto bail;<br>
        }<br>
<br>
        if (ah_attr->dlid == 0) {<br>
                ret = ERR_PTR(-EINVAL);<br>
                goto bail;<br>
        }<br>
<br>
<br>
Thanks<br>
Shirley </body></html>