[openib-general] [PATCH] OpenSM/osm_ucast_lash.c: In osm_get_lash_sl, fix SL when CA ports on same switch

Hal Rosenstock halr at voltaire.com
Fri Feb 9 08:22:52 PST 2007


On Fri, 2007-02-09 at 11:05, Dale Purdy wrote:
> We have successfully tested this bug fix

Thanks.

>  and would like to see it
> pushed into the 1.2 branch.

Already pushed for ofed_1_2. I will be sending a note to Vlad to pick
these up and it should be in alpha.

-- Hal

> Dale
> 
> On Thu, 8 Feb 2007, Hal Rosenstock wrote:
> 
> > OpenSM/osm_ucast_lash.c: In osm_get_lash_sl, fix SL when CA ports on same switch
> 
> This change resolves an issue with strange SL assignment when
> two HCAs communicate with other and are on the same switch.
> Since LASH is switch to switch routing, the get_lash_sl
> function was casting 9999 (the value assigned to the
> variable NONE) to be a uint8_t when asked for an SL assignment
> in this case. This change resolves this issue.
> 
> Signed-off-by: Thomas Sødring <tsodring at simula.no>
> Signed-off-by: Hal Rosenstock <halr at voltaire.com>
> 
> diff --git a/osm/opensm/osm_ucast_lash.c b/osm/opensm/osm_ucast_lash.c
> index 5dfe068..e5f751c 100644
> --- a/osm/opensm/osm_ucast_lash.c
> +++ b/osm/opensm/osm_ucast_lash.c
> @@ -1468,6 +1468,7 @@ uint8_t osm_get_lash_sl(osm_opensm_t *p_
>  			osm_port_t *p_src_port, osm_port_t *p_dst_port)
>  {
>  	unsigned dst_id;
> +	unsigned src_id;
>  	osm_switch_t *p_sw;
> 
>  	if (p_osm->routing_engine.ucast_build_fwd_tables != lash_process)
> @@ -1482,6 +1483,10 @@ uint8_t osm_get_lash_sl(osm_opensm_t *p_
>  	if (!p_sw || !p_sw->priv)
>  		return OSM_DEFAULT_SL;
> 
> +	src_id = get_lash_id(p_sw);
> +	if (src_id == dst_id)
> +		return OSM_DEFAULT_SL;
> +
>  	return (uint8_t)((switch_t *)p_sw->priv)->routing_table[dst_id].lane;
>  }
> 
> 
> 
> _______________________________________________
> 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