[openib-general] Unusable QP's on CM established connections from gen2 client to gen1 server.

Sasha Khapyorsky sashak at voltaire.com
Mon Nov 13 12:11:32 PST 2006


On 19:49 Mon 13 Nov     , Hal Rosenstock wrote:
> There may be an OpenSM bug with setting hop limit in the path record response. I'm looking at it now.

Looks like it is - OpenSM returns the same hop_limit value as was in the
request.

Bub, could you try the patch below?

Thanks,
Sasha


diff --git a/osm/opensm/osm_sa_path_record.c b/osm/opensm/osm_sa_path_record.c
index 560e385..72a89d0 100644
--- a/osm/opensm/osm_sa_path_record.c
+++ b/osm/opensm/osm_sa_path_record.c
@@ -709,6 +710,8 @@ __osm_pr_rcv_build_pr(
   p_pr->dlid = cl_hton16( dest_lid_ho );
   p_pr->slid = cl_hton16( src_lid_ho );
 
+  p_pr->hop_flow_raw &= cl_hton32(1<<31);
+
   p_pr->pkey = p_parms->pkey;
   p_pr->sl = cl_hton16(p_parms->sl);
   p_pr->mtu = (uint8_t)(p_parms->mtu | 0x80);


>  
> -- Hal
> 
> ________________________________
> 
> From: openib-general-bounces at openib.org on behalf of Sean Hefty
> Sent: Mon 11/13/2006 11:26 AM
> To: Bub Thomas
> Cc: Erez Cohen; openib-general at openib.org
> Subject: Re: [openib-general] Unusable QP's on CM established connections from gen2 client to gen1 server.
> 
> 
> 
> Bub Thomas wrote:
> > Setting the hop_limit from 64 down to 0 or 1 solved the problem. :-)
> > Don't ask me where I got that hop_limit from, it must have been an
> > example I found somewhere.
> > Can you explain why that hop_limit/is_global makes a difference in
> > communication between gen1 and gen2? Does the counterpart need to have
> > the same hop_limit?
> 
> The gen2 stack uses a hop_limit > 0 to indicate that global routing is being
> used.  If the hop_limit is > 0, then the global routing information must be valid.
> 
> > The path record values I use are queried from the OSM using a
> > SERVICE_RECORD query followed by a path record query.
> > I'm not using any alternate path record values, is this critical?
> 
> Everything is supposed to work with the path records returned from the SM.  I
> was wondering if you were querying for the path record, modifying the returned
> value, or creating a path record yourself.
> 
> >     path_record.packet_life_time = 0;
> 
> I would set this higher (maybe between 12-20, with: 18 = 1 second, 19 = 2
> seconds, 20 = 4 seconds, etc.)
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 
> 
> 
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 




More information about the general mailing list