[openib-general] Problem is routing CM REQ

Hal Rosenstock halr at voltaire.com
Fri Feb 9 13:45:29 PST 2007


On Fri, 2007-02-09 at 14:20, Jason Gunthorpe wrote:
> On Fri, Feb 09, 2007 at 12:58:51PM -0500, Hal Rosenstock wrote:
> > > For simplicity, assume a single path.  My assumption in this case was that the 
> > > SLID/DLID values would be reversed.  That is, the LIDs are relative to the local 
> > > subnet, not the SGID.  But if I set the SGID = DGID = remote GID, then the LIDs 
> > > would be relative to the remote subnet.  (Assuming that the local SA could 
> > > support such a query at all.)
> > > 
> > > It seems that in order to meet the requirements of the spec, we need a way to 
> > > perform inter-subnet queries.  (The alternative being to change the spec...) 
> > > And if the local SA can return a path record to a remote DGID, then it also 
> > > seems like the local SA must be able to collect some sort of information about 
> > > the path to the remote subnet.  (How it does this seems TBD.)
> > > 
> > > So... I'm thinking that the solution to these problems should rest within the 
> > > local SA...
> > 
> > Yes, this seems most consistent with what is there now although there
> > are some issues to work out on how some of the fields are supported and
> > which queries would work intersubnet (as well as how they would work).
> 
> I agree, some kind of inter subnet query will have to be used to make
> this work consistently with the rest of IBA.
> 
> It looks to me like we overall need to have this look like:
> - Routers need to be able to support inter-subnet reversible paths
>   to meed the requirements for CM.
>   - Inter-subnet reversible paths are defined to mean that when the LRH
>     is selected on the destination subnet by the router it is reversible.
>   - This can be signaled by using TClass and/or FlowLabel fields in the GRH.
> - Routers need to be able to produce knowable SLIDs to meet the QP LID
>   matching requirement
>   - The LID to use can be signaled by using TClass and/or FlowLabel
> - A kind of inter-subnet path record query is needed that can
>   return a local and remote GRH and LRH. These four structures need to
>   be *linked* so that:
>    - Side A GRH.SGID = active side's Port GID
>    - Side A GRH.DGID = passive side's Port GID
>    - Side A LRH.SLID = any active side's port LID
>    - Side A LRH.DLID = A subnet router
>    - Side A LRH.SL   = SL to A subnet router
> 
>    - Side B GRH.SGID = Side A GRH.DGID
>    - Side B GRH.DGID = Side A GRH.SGID
>    - Side B LRH.SLID = any passive side's port LID
>    - Side B LRH.DLID = B subnet router
>    - Side B LRH.SL   = SL to B subnet router
>    
>    - When the A subnet router sees Side B GRH it produces
>       LRH.SLID = Side A LRH.DLID
>       LRH.DLID = Side A LRH.SLID
>       LRH.SL   = SL to Side A Active side (may be != to Side A LRH.SL)
>    - Similarly for Side B.      
> 
>    This linkage requirement is necessary due to the QP LID matching
>    rules. I'm imagining that like SL the GRH.TClass and GRH.FlowLabel
>    could be different in each direction.
> 
>    I'd think of this query as a generic duplex PathRecord query.
> 
>    Off hand I don't see that the existing path record query structure
>    has enough information to do this.. Particularly, in cases
>    where each subnet has more than 1 router port there is no real
>    guarentee that querying for the SGID -> DGID direction and then the
>    DGID -> SGID direction uses the same router ports without providing
>    both router LIDs as part of the query.

Router LIDs rather than GIDs (in the case of LMC > 0) ?

The SA PathRecord may have room but the MultiPathRecord is pretty
tightly packed now.

-- Hal

> Whatever responds to this query must be interacting with the router(s)
> to ensure they recognize the GRHs and produce LRHs to meet all the
> above requirements.
> 
> ** The hackish and simple thing to do right now is to just demand that
>    routers *always* use reversible LRHs with a single SLID and have the
>    passive side pick up the QP lids from the LRH if it is routed..
> 
> Jason





More information about the general mailing list