RE: Comments on IPoIB Connected Mode Connection Establ ishment

Dror Goldenberg <[email protected]> Sun, 21 Aug 2005 09:37:37 +0300
Newsgroups gmane.ietf.ipoib
Message-ID <[email protected]>

> From: Vivek Kashyap [mailto:[email protected]] 
> Sent: Thursday, August 18, 2005 9:36 AM
> 
> On Wed, 17 Aug 2005, Dror Goldenberg wrote:
> 
> >
> >
> >> From: Vivek Kashyap [mailto:[email protected]]
> >> Sent: Monday, August 15, 2005 9:41 AM
> >>
> >> On Wed, 10 Aug 2005, Dror Goldenberg wrote:

<snip>

>
> >>> (2) Active/Active Model Support
> >>>


<snip>

> >> 3. In case of the active-active connection the request from the 
> >> numerically smaller MAC Address (QPN+GID or probably just 
> the GID) is
> >> terminated. The error code 'state connection' is a 
> possibility here.
> >>
> >> The active-active situation is known when it is determined 
> that there 
> >> is an outstanding request to the remote peer (as determined by
> >> GID+QPN) while a request from the same is received on local 
> >> GID+ServiceID.
> >
> > In IB, active-active is only determined by equal Service IDs. See IB
> > spec 1.2 vol1 12.9.7.1, the Active CM state machine goes to
> > Peer-Compare state based solely on the Service ID.
> > Therefore, if you want to have active-active, then you must 
> ensure that
> > both service IDs are identical. In the current draft, the 
> Service IDs are
> > different, as they include a remote QP number.
> >
> 
> Yes, if we are determining it based on the CM. However, I was 
> suggesting
> the above as what the ipoib component will do when it is informed by 
> CM. It can return a suitable error to CM when it determines 
> that a particular
> connection shouldn't be allowed. Is that not possible?
> 

That wouldn't be "active/active" per se. But maybe it's just as good,
because
it just pushes this model to the ipoib layer. In a case of crossing
connection
requests one side is supposed to accept, while the other is supposed to 
reject. The rules for rejection have to be described in the RFC. Maybe it
worth describing the state machine that now needs to be implemented
in ipoib. 

BTW, what will be the rejection reason ? Seems like the most appropriate is
28 - consumer reject.

Note that it becomes tricky if you want to allow more than one 
connection on the same service ID. So, is there a way you can tell whether
your peer is trying to establish the 1st or 2nd connection while you are 
trying to set up the 1st one ?

I think it'll be best if we can use the standard active-active mechanism. 
However, if we don't manage to find how, then this approach (rejection
at the app level) will do the work. However, it will complicate the 
ipoib implementation and will duplicate the active-active work that 
is already implemented in the cm.

-Dror

<snip>

_______________________________________________
IPoverIB mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/ipoverib