<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>