[ofa-general] Issues with osm_state_mgr.c:__osm_state_mgr_get_remote_port_info()

Vincent Ficet jean-vincent.ficet at bull.net
Wed Jun 25 04:36:58 PDT 2008


Hi,

In the file opensm/osm_state_mgr.c, function 
__osm_state_mgr_get_remote_port_info(), we have the following code:

mad_context.pi_context.port_guid = 
cl_hton64(osm_physp_get_port_num(p_physp));

The port_guid's type is ib_net64_t, which is OK w.r.t cl_hton64 type cast.

However, the osm_physp_get_port_num() function in 
include/opensm/osm_port.h is implemented as follows:

static inline uint8_t
osm_physp_get_port_num(IN const osm_physp_t * const p_physp)
{
   CL_ASSERT(p_physp);
   CL_ASSERT(osm_physp_is_valid(p_physp));
   return (p_physp->port_num);
}

And the port_num field in the osm_physp_t is declared as an uint8_t.

Am I right in saying that feeding a port number into 
mad_context.pi_context.port_guid is incorrect ? If so, the cl_hton64 
type cast is hiding the compiler warning ;-)

Thanks,

Vincent



More information about the general mailing list