On Tue, 10 Jun 2008 11:16:24 -0700
Hal Rosenstock <[EMAIL PROTECTED]> wrote:

> On Tue, 2008-06-10 at 11:11 -0700, Ira Weiny wrote:
> > On Tue, 10 Jun 2008 10:23:24 -0700
> > Hal Rosenstock <[EMAIL PROTECTED]> wrote:
> > 
> > > On Tue, 2008-06-10 at 09:05 -0700, Ira Weiny wrote:
> > > > Yea, that comment does not make sense.
> > > > 
> > > > I am searching the node records for the node which has the port defined 
> > > > in the
> > > > member record.  The interface ID is simply the port guid, is it not?
> > > > 
> > > >         uint64_t gid_interface_id = cl_ntoh64( 
> > > > p_mcmr->port_gid.unicast.interface_id );
> > > > 
> > > > I guess the comments should read.
> > > > 
> > > >    /* go through the node records searching for a port guid which 
> > > > matches
> > > >     * this port gid interface id.
> > > >     * This gives us a node description to print.
> > > >     */
> > > > 
> > > > Does that make more sense?
> > > 
> > > The makes more sense but I don't think that the code does what's
> > > intended.
> > 
> > Why do you say that?
> 
> Looks to me like it relies on some node GUID being same as port GUID.
> While that's allowable for one port, it won't always be the case.

In my test system the Node GUID and port GUID are different and this works.  I
am specifically using the port guid out of the NodeInfo struct of the
NodeRecord.  So I should be using the port guid vs port GID ID _only_.

> 
> > Have you found some configuration in which this does not
> > work?
> 
> Yes.

:-(  Sorry, I'm pretty sure this should be ok...

Ira

> 
> -- Hal
> 
> > From the spec pg 905:
> > 
> >    "Note: If a channel adapter or router has multiple ports on the same 
> > subnet,
> >    there will be multiple NodeRecords available for that node from SA, one 
> > for
> >    each possible PortGUID value of NodeInfo for that node on that subnet."
> > 
> > So each NodeRecord should have a unique port GUID in it.
> > 
> > Or do you think the GID interface ID will not always equal the GUID?  I 
> > thought
> > I read that somewhere but perhaps I am wrong.  I don't find it right now.  
> > :-/
> > 
> > Ira
> > 
> > > 
> > > -- Hal
> > > 
> > > > Ira
> > > > 
> > > > On Tue, 10 Jun 2008 07:46:26 -0700
> > > > Hal Rosenstock <[EMAIL PROTECTED]> wrote:
> > > > 
> > > > > Ira,
> > > > > 
> > > > > In saquery.c:print_multicast_member_record, there is the following:
> > > > > 
> > > > >         /* go through and find the node description for this node GID 
> > > > > */
> > > > >         for (i = 0; i < result.result_cnt; i++) {
> > > > >                 node_record = 
> > > > > osmv_get_query_node_rec(result.p_result_madw, i);
> > > > >                 if (cl_ntoh64(node_record->node_info.port_guid) == 
> > > > > gid_interface_id)
> > > > >                         break;
> > > > >         }
> > > > > 
> > > > > I have a question about the intention here:
> > > > > 
> > > > > The comment mentions the node description for this node GID. Is that
> > > > > what is meant or is the intention to get the node description
> > > > > corresponding to the port GUID for each MCMember record ?
> > > > > 
> > > > > -- Hal
> > > > > 
> > > > > 
> > > 
> 
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to