[Openib-windows] [PATCH] client reregister bit and static mac for Mellanox device
Yossi Leybovich
sleybo at mellanox.co.il
Mon Apr 24 05:50:07 PDT 2006
Fab
While debug the IPoIB reregister I found 2 bugs:
1. FW bug, our latest FW does not clear the client reregister bit on
port_info_set response.
This will be fix in the coming release but meanwhile I think we should
add work around for the problem.
It will add stability to our reregister flow.
2. I had bug in the generation of Mac from mlnx guids so mlnx guids were
always generated laa MACs.
this patch address these 2 issues
10x
Yossi
Singed-off-by: Yossi Leybovich (sleybo at mellanox.co.il)
Index: core/al/kernel/al_smi.c
===================================================================
--- core/al/kernel/al_smi.c (revision 1280)
+++ core/al/kernel/al_smi.c (working copy)
@@ -1810,12 +1810,14 @@
if( p_port_info )
{
+ /* Work around for FW bug , client reregister bit is not clear in
response*/
+ ib_port_info_t *p_port_info_req =
ib_smp_get_payload_ptr((ib_smp_t*)p_mad);
p_spl_qp_svc->base_lid = p_port_info->base_lid;
p_spl_qp_svc->lmc = ib_port_info_get_lmc( p_port_info );
- if (p_port_info->subnet_timeout & 0x80)
+ if (p_port_info_req->subnet_timeout & 0x80)
{
AL_TRACE(AL_DBG_PNP,
- ("Client reregister event, setting sm_lid to 0.\n"));
+ ("Client reregister event, setting sm_lid 0 to tran_id
0x%I64x.\n",p_smp->trans_id));
ci_ca_lock_attr(p_spl_qp_svc->obj.p_ci_ca);
p_spl_qp_svc->obj.p_ci_ca->p_pnp_attr->
p_port_attr->sm_lid= 0;
Index: ulp/ipoib/kernel/ipoib_xfr_mgr.h
===================================================================
--- ulp/ipoib/kernel/ipoib_xfr_mgr.h (revision 1280)
+++ ulp/ipoib/kernel/ipoib_xfr_mgr.h (working copy)
@@ -211,8 +211,8 @@
/* Port guid is in network byte order. OUI is in lower 3 bytes. */
ASSERT( p_guid[0] == 0x00 && p_guid[1] == 0x02 && p_guid[2] == 0xc9 );
- if( (port_guid & CL_HTON64( 0x000000ffff0000 )) !=
- CL_HTON64(0x00000002000000))
+ if( (port_guid & CL_HTON64( 0x000000ffff000000 )) !=
+ CL_HTON64(0x0000000200000000))
{
return IB_INVALID_GUID;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib_static_mac_client.patch
Type: application/octet-stream
Size: 1552 bytes
Desc: ipoib_static_mac_client.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060424/e6bb6c27/attachment.obj>
More information about the ofw
mailing list