On Thu, Oct 29, 2009 at 9:23 PM, Sasha Khapyorsky <[email protected]> wrote:
<snip...>
>> diff --git a/opensm/opensm/osm_slvl_map_rcv.c
>> b/opensm/opensm/osm_slvl_map_rcv.c
>> index 9c37442..67c71bd 100644
>> --- a/opensm/opensm/osm_slvl_map_rcv.c
>> +++ b/opensm/opensm/osm_slvl_map_rcv.c
>> @@ -2,6 +2,7 @@
>> * Copyright (c) 2004-2008 Voltaire, Inc. All rights reserved.
>> * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
>> * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
>> + * Copyright (c) 2009 HNR Consulting. All rights reserved.
>> *
>> * This software is available to you under a choice of one of two
>> * licenses. You may choose to be licensed under the terms of the GNU
>> @@ -72,7 +73,9 @@ void osm_slvl_rcv_process(IN void *context, IN void
>> *p_data)
>> osm_slvl_context_t *p_context;
>> ib_net64_t port_guid;
>> ib_net64_t node_guid;
>> - uint8_t out_port_num, in_port_num;
>> + uint32_t attr_mod;
>> + uint8_t out_port_num, in_port_num, startinport, startoutport,
>> + endinport, endoutport;
>>
>> CL_ASSERT(sm);
>>
>> @@ -111,6 +114,9 @@ void osm_slvl_rcv_process(IN void *context, IN void
>> *p_data)
>> (uint8_t) cl_ntoh32(p_smp->attr_mod & 0xFF000000);
>> in_port_num =
>> (uint8_t) cl_ntoh32((p_smp->attr_mod & 0x00FF0000) << 8);
>> + attr_mod = cl_ntoh32(p_smp->attr_mod);
>> + if (attr_mod & 0x30000)
>> + goto opt_sl2vl;
>> p_physp = osm_node_get_physp_ptr(p_node, out_port_num);
>> } else {
>> p_physp = p_port->p_physp;
>> @@ -123,7 +129,7 @@ void osm_slvl_rcv_process(IN void *context, IN void
>> *p_data)
>> all we want is to update the subnet.
>> */
>> OSM_LOG(sm->p_log, OSM_LOG_VERBOSE,
>> - "Got SLtoVL get response in_port_num %u out_port_num %u with "
>> + "Received SLtoVL GetResp in_port_num %u out_port_num %u with "
>> "GUID 0x%" PRIx64 " for parent node GUID 0x%" PRIx64 ", TID
>> 0x%"
>> PRIx64 "\n", in_port_num, out_port_num, cl_ntoh64(port_guid),
>> cl_ntoh64(node_guid), cl_ntoh64(p_smp->trans_id));
>> @@ -142,6 +148,39 @@ void osm_slvl_rcv_process(IN void *context, IN void
>> *p_data)
>> out_port_num, p_slvl_tbl, OSM_LOG_DEBUG);
>>
>> osm_physp_set_slvl_tbl(p_physp, p_slvl_tbl, in_port_num);
>> + goto Exit;
>> +
>> +opt_sl2vl:
>
> I think that you need to use functions here.
>
>> + OSM_LOG(sm->p_log, OSM_LOG_VERBOSE,
>> + "Got optimized SLtoVL get response in_port_num %u out_port_num
>> "
>> + "%u with GUID 0x%" PRIx64 " for parent node GUID 0x%" PRIx64
>> + ", TID 0x%" PRIx64 "\n", in_port_num, out_port_num,
>> + cl_ntoh64(port_guid), cl_ntoh64(node_guid),
>> + cl_ntoh64(p_smp->trans_id));
>> +
Is this a macro/va args limit ?
Does the existing log message this was modeled after need to change
too ? It is virtually the same (maybe one less arg).
-- Hal
<snip...>
--
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