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 <[email protected]>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to