[ofa-general] Bugs in opensm/libvendor

Hal Rosenstock hal.rosenstock at gmail.com
Thu Dec 18 07:18:24 PST 2008


On Thu, Dec 18, 2008 at 9:58 AM, Sasha Khapyorsky <sashak at voltaire.com> wrote:
> On 09:43 Thu 18 Dec     , Hal Rosenstock wrote:
>> >
>> > Are you saying we need to return potentially more than 127 paths even if
>> > num_paths = 127 was specified explicitly? I don't think that this is a good idea.
>>
>> I thought that was your proposal in order not to change the API for this.
>
> My proposal is to make OSMV_QUERY_PATH_REC_BY_* stuff (in
> opensm/libvendor/osm_vendor_*_sa) to be IBA complaint.

Yes, and this affects any potential out of tree uses.

> And to use
> OSMV_QUERY_USER_DEFINED when we would like to create custom queries
> (for example without num_paths defined).
>
>> I also thought you "liked" the extensions provided by OpenSM.
>
> Yes, I'm. So I think it would be nice for OpenSM to handle queries where
> num_paths is not specified. But in case when num_paths is requested
> OpenSM should not ignore this and return records accordingly.

OK; I thought you said to use the num_paths = 127 as the extension.

>> > Assuming you care about breaking backward compatibility
>>
>> Don't you ?
>>
>> > where this osm_vendor_sa API (OSMV_QUERY_PATH_REC_BY_*) is used today?
>>
>> saquery and osmtest.
>
> I can care about saquery -

Do you care about osmtest ?

> I always thought that OSMV_QUERY_USER_DEFINED
> is better and more useful than OSMV_QUERY_PATH_REC_BY_*.

Depends by what you mean by better and more useful. User defined
queries can do any SA query so is way more flexible. AFAIK the
specific queries were intended to make things a little easier to use
for what were deemed the more common use cases.

> I don't expect any hurt for osmtest (however didn't check this yet).

Depends on what you mean by hurt:

osmtest/osmtest.c:      req.query_type = OSMV_QUERY_PATH_REC_BY_PORT_GUIDS;
osmtest/osmtest.c:      req.query_type = OSMV_QUERY_PATH_REC_BY_GIDS;
osmtest/osmtest.c:      req.query_type = OSMV_QUERY_PATH_REC_BY_LIDS;
osmtest/osmtest.c:      req.query_type = OSMV_QUERY_PATH_REC_BY_PORT_GUIDS;

So in line with your approach, these instances should be changed over
to user specified ones.

Also, IMO saquery should support both compliant and extended queries.

-- Hal

> Sasha



More information about the general mailing list