[ofa-general] [PATCH] opensm/osm_switch.h: use updated LFT for routing
Yevgeny Kliteynik
kliteyn at dev.mellanox.co.il
Thu Nov 20 03:58:27 PST 2008
Hi Sasha,
Function osm_switch_get_port_by_lid() was using the switch's
LFT, so this LFT might not be updated to recent routing.
I think that this was also relevant before the LFT simplification.
One immediate outcome of this bug is opensm.fdbs file - when it
is dumped from the switch LFT (and not from lft_buf), it sometimes
doesn't match the lst file.
Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
---
opensm/include/opensm/osm_switch.h | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/opensm/include/opensm/osm_switch.h b/opensm/include/opensm/osm_switch.h
index caa0bc5..f06931c 100644
--- a/opensm/include/opensm/osm_switch.h
+++ b/opensm/include/opensm/osm_switch.h
@@ -411,7 +411,11 @@ osm_switch_get_port_by_lid(IN const osm_switch_t * const p_sw,
{
if (lid_ho == 0 || lid_ho > IB_LID_UCAST_END_HO)
return OSM_NO_PATH;
- return p_sw->lft[lid_ho];
+
+ if (p_sw->lft_buf)
+ return p_sw->lft_buf[lid_ho];
+ else
+ return p_sw->lft[lid_ho];
}
/*
* PARAMETERS
--
1.5.1.4
More information about the general
mailing list