Re: [PATCH 3/4] infiniband-diags: properly resolve node guids

Hal Rosenstock
2011-07-11T19:02:12Z

Ira,

On 7/8/2011 6:29 PM, Ira Weiny wrote:
> On Fri, 8 Jul 2011 14:59:01 -0700
> Hal Rosenstock <hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> wrote:
>
>> On 7/8/2011 5:50 PM, Jason Gunthorpe wrote:
>>> On Fri, Jul 08, 2011 at 05:42:38PM -0400, Hal Rosenstock wrote:
>>>
>>>> Should the request just be a GET rather than GET_TABLE and avoid this
>>>> check ? I don't think multiple nodes can register with same Node GUID,
>>>> can they ? Also, I think it makes eliminates this check and the missing
>>>> 0 check.
>>>
>>> Multiport HCAs should (and do..) show up with multiple node
>>> records. There is one node record per end port, not per node. This is
>>> why using node GUID as an end port identifier is a bad choice.
>
> It is _not_ a bad choice if you are looking for a "node".

One could also equally well query for the node records to which a port
GUID belongs if this is better to keep the guid meaning consistent.

Looking at the current man pages though, ibqueryerrors does say node
GUID and iblinkinfo says switch GUID which is the node GUID.

-- Hal

>
>>
>> Before this patch, it did used to use the port GUID for this.
>
> The point of this patch is to do the right thing when the user is requesting a node they want information about. The next step is to accept NodeDescription and use that from the NodeRecord as a key.
>
>>
>>> However, you could use GET and look at the return code to disambiguate
>>> no records/one record/many records.
>>
>> Yes, that was getting at (and that there was no check for no records
>> returned with the get table code).
>
> Ok, that is a bug. We should check for no records.
>
> As for multiple records, I left that for a future patch which would query all of those ports.
>
> Ira
>
>>
>> -- Hal
>>
>>> Jason
>>>
>>