[PATCH] opensm: make subnet's max mlid update implementation independent

Sasha Khapyorsky
2009-10-23T22:00:55Z

Make subnet's max mlid (max_mcast_lid_ho) setup procedure to be
independent from implementation details of switch multicast table
object.

Signed-off-by: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
---
opensm/opensm/osm_sw_info_rcv.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/opensm/opensm/osm_sw_info_rcv.c b/opensm/opensm/osm_sw_info_rcv.c
index ad75fd4..f32adc5 100644
--- a/opensm/opensm/osm_sw_info_rcv.c
+++ b/opensm/opensm/osm_sw_info_rcv.c
@@ -220,10 +220,10 @@ static void si_rcv_process_new(IN osm_sm_t * sm, IN osm_node_t * p_node,
}

/* set subnet max mlid to the minimum MulticastFDBCap of all switches */
- if (p_sw->mcast_tbl.num_entries < sm->p_subn->max_mcast_lid_ho -
- IB_LID_MCAST_START_HO + 1) {
- sm->p_subn->max_mcast_lid_ho = p_sw->mcast_tbl.num_entries +
- IB_LID_MCAST_START_HO - 1;
+ if (cl_ntoh16(p_si->mcast_cap) + IB_LID_MCAST_START_HO - 1 <
+ sm->p_subn->max_mcast_lid_ho) {
+ sm->p_subn->max_mcast_lid_ho = cl_ntoh16(p_si->mcast_cap) +
+ IB_LID_MCAST_START_HO - 1;
OSM_LOG(sm->p_log, OSM_LOG_VERBOSE,
"Subnet max multicast lid is 0x%X\n",
sm->p_subn->max_mcast_lid_ho);
--
1.6.5.1