[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