<html><body>
<p>Hello Ralph,<br>
<br>
        In ipoib, priv->local_lid was set here:<br>
        {<br>
                struct ib_port_attr attr;<br>
 <br>
                if (!ib_query_port(priv->ca, priv->port, &attr))<br>
                        priv->local_lid = attr.lid;<br>
        }<br>
<br>
        If you look at ipath_query_port(),<br>
<br>
static int ipath_query_port(struct ib_device *ibdev,<br>
                            u8 port, struct ib_port_attr *props)<br>
{<br>
        struct ipath_ibdev *dev = to_idev(ibdev);<br>
        enum ib_mtu mtu;<br>
        u16 lid = dev->dd->ipath_lid;<br>
        u64 ibcstat;<br>
<br>
        memset(props, 0, sizeof(*props));<br>
>>    props->lid = lid ? lid : __constant_be16_to_cpu(IB_LID_PERMISSIVE);<br>
        <br>
attr.lid is set here. Do you have any clue it was set to 0? I don't see any code changes between RC3 and RC4 in IPoIB in this piece of code.<br>
<br>
I also found below code in ipath. Is there any issue here in ipath_query_port()? Since we do enable 4K MTU support.<br>
        <br>
        /*<br>
         * Note: the chips support a maximum MTU of 4096, but the driver<br>
         * hasn't implemented this feature yet, so set the maximum value<br>
         * to 2048.<br>
         */<br>
        props->max_mtu = IB_MTU_2048;<br>
        switch (dev->dd->ipath_ibmtu) {<br>
        case 4096:<br>
                mtu = IB_MTU_4096;<br>
                break;<br>
...<br>
<br>
Shirley Ma<br>
IBM Linux Technology Center<br>
15300 SW Koll Parkway<br>
Beaverton, OR 97006-6063<br>
Phone(Fax): (503) 578-7638<br>
<br>
</body></html>