Hello again,
  I forgot about another issue that was side-stepped via '#if 0' in order to 
make forward progress in the porting of OpenSM 3.3.11 to Windows.

 opensm/osm_helper.c

int ib_path_compare_rates(IN const int rate1, IN const int rate2)
{
        int orate1 = 0, orate2 = 0;

        CL_ASSERT(rate1 >= IB_MIN_RATE && rate1 <= IB_MAX_RATE);
        CL_ASSERT(rate2 >= IB_MIN_RATE && rate2 <= IB_MAX_RATE);

When running a DEBUG version of opensm with 'osmtest -f m -M1', part of the 
test is to set invalid rates (rate1, rate2 == 1).
When the rate1 or rate2 == 1 the CL_ASSERT() fires as IB_MIN_RATE == 2.
I think the fix is to explicitly allow rate1 or rate2 == 1 for osmtest?

        /* rate1 | rate2 == 1 comes from 'osmtest -f m -M1' (expected invalid 
rate) */
        CL_ASSERT((rate1 >= IB_MIN_RATE || rate1 == 1) && rate1 <= IB_MAX_RATE);
        CL_ASSERT((rate2 >= IB_MIN_RATE || rate2 == 1) && rate2 <= IB_MAX_RATE);

Thoughts?

Thanks,

Stan.


_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to