RE: ipoib-cm multiple connection model

Vivek Kashyap <[email protected]> Tue, 15 Nov 2005 15:06:34 -0800
Newsgroups gmane.ietf.ipoib
Message-ID <OF8C1DD76D.4FB517ED-ON882570BA.007F0986-882570BA.007F188B@us.ibm.com>
This is a multipart message in MIME format.
--===============1592646987==
Content-Type: multipart/alternative;
	boundary="=_alternative 007F187F882570BA_="

This is a multipart message in MIME format.
--=_alternative 007F187F882570BA_=
Content-Type: text/plain; charset="US-ASCII"

ok..I'll target submitting the updated draft by monday. 

Vivek
--
Vivek Kashyap
Linux Technology Center, IBM
[email protected] 
[email protected] 
Ph: 503 578 3422 T/L: 775 3422





"Dror Goldenberg" <[email protected]>
Sent by: [email protected]
11/15/2005 03:04 PM
 
        To:     "H.K. Jerry Chu" <[email protected]>, 
<[email protected]>, [email protected]
        cc:     [email protected], [email protected]
        Subject:        RE: [Ipoverib] ipoib-cm multiple connection model


I think it's OK. We can move forward from my perspective.

> -----Original Message-----
> From: H.K. Jerry Chu [mailto:[email protected]] 
> Sent: Monday, November 14, 2005 9:34 PM
> To: [email protected]; [email protected]
> Cc: [email protected]; [email protected]
> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> 
> 
> Hi folks,
> 
> Have we reached a concensus the connection setup procedure in 
> the current draft is "good enough", or folks still think it 
> needs to be improved?
> 
> I'd like to see any remaining issue resolved asap so we can 
> start a WG last call (after Vivke revs the draft based on all 
> the comments so far).
> 
> Jerry
> 
> >Date: Thu, 27 Oct 2005 22:47:16 -0700 (PDT)
> >From: Vivek Kashyap <[email protected]>
> >X-X-Sender: [email protected]
> >To: Dror Goldenberg <[email protected]>
> >Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >MIME-Version: 1.0
> >X-Spam-Score: 0.0 (/)
> >X-Scan-Signature: f8ee348dcc4be4a59bc395f7cd6343ad
> >Cc: "'[email protected]'" <[email protected]>, Vandana Rao 
> ><[email protected]>
> >X-BeenThere: [email protected]
> >X-Mailman-Version: 2.1.5
> >List-Id: IP over InfiniBand WG Discussion List <ipoverib.ietf.org>
> >List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ipoverib>, 
> <mailto:[email protected]?subject=unsubscribe>
> >List-Post: <mailto:[email protected]>
> >List-Help: <mailto:[email protected]?subject=help>
> >List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ipoverib>,
> <mailto:[email protected]?subject=subscribe>
> >
> >Hi Dror,
> >
> >On Thu, 27 Oct 2005, Dror Goldenberg wrote:
> >
> >> Hi Vivek,
> >>
> >> I agree with the flows that you describe, and with the 
> fact that the 
> >> original requester has always the "second chance" to withdraw its 
> >> request by rejecting the REP. However, in my opinion, 
> giving all this 
> >> freedom to the implementation can lead to interoperability 
> issues and 
> >> poor implementations. If an implementation tries to open n 
> >> connections with a certain peer, it may end up opening 
> more or less 
> >> than n and that might take few iterations and that all 
> depends on the 
> >> CM timing and some other "unrelated" parameters - how can you even 
> >> test it ? I therefore feel that we should provide a robust and 
> >> deterministic specification of how to establish more than one 
> >> connection in the RFC or live with a single connection.
> >
> >I'd like to delve into this a bit more to be sure. As per 
> >your/Vandana's comments, the left peer will cancel the 
> request. Isn't 
> >this is a 'conscious' decision by the ULP? The ULP would then remove 
> >the its internal object that it would associate with this IB 
> >connection. If it was successful in cancelling the REQ then there is 
> >only one connection.
> >
> >If, however, as you pointed out it is unable to, it might 
> receive a REP
> >*if* the remote peer accepts multiple connections. The left 
> peer's ulp 
> >however will not find any object associated with the private 
> data and 
> >the connection request (there will be another one already existing 
> >though) and can use that to indicate rejection.
> >
> >Does the above sound right?
> >
> >Vivek
> >
> >>
> >> BTW, this is my opinion in this case, and if folks feel OK 
> with the 
> >> current draft, then maybe we should move on ?
> >>
> >> Thanks
> >> Dror
> >>
> >>> -----Original Message-----
> >>> From: Vivek Kashyap [mailto:[email protected]]
> >>> Sent: Wednesday, October 26, 2005 10:33 PM
> >>> To: Dror Goldenberg
> >>> Cc: Vandana Rao; '[email protected]'
> >>> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >>>
> >>>
> >>> On Wed, 26 Oct 2005, Dror Goldenberg wrote:
> >>>
> >>>> Vivek,
> >>>>
> >>>> I agree that the two scenarios you mention here are the 
> interesting 
> >>>> ones. I don't agree about the solution. Let's look at the two 
> >>>> cases:
> >>>>
> >>>> 1) Left peer accepts
> >>>>           I disagree. You have an assumption that left peer can
> >>>>           revoke its original connection request - BEFORE 
transmitting
> >>>>           the REP that accepts the peer request. I am not sure that
> >>>>           you can do it with every CM implementation. Even if you 
can,
> >>>>           then the HCA can reorder those packets if they are on
> >>>>           different QPs, and the fabric can reorder them as well if
> >>>>           they are on different VLs.
> >>>
> >>> Yes, that has the potential for extra connections..however, the 
> >>> following will occur if CM checks don't work.
> >>>
> >>> Left peer accepted. Sent a REP. And of course the REQ was 
> also sent. 
> >>> The right receiver can receive :
> >>>
> >>>            a. REP first
> >>>
> >>>            It sets up the connection. Then receives a REQ.
> >>>
> >>>            i) If it accepts multiple connections from the same peer:
> >>>                             it will  REP with a new QP (connection).
> >>>
> >>>                            Now, if the left peer decides that it 
didn't
> >>> need another
> >>>                            connection it terminates the connection.
> >>>
> >>>                            Otherwise, it is legitimate to setup 
multiple 
> connections
> >>>                            since it is equivalent to a second valid 
request.
> >>>
> >>>            ii) If the right peer does not accept multiple 
connections from 
> >>> the
> >>>            same peer then it will reject the request.
> >>>
> >>>            Note that these decisions in part depend on the ipoib 
component 
> >>> peeking
> >>>            into the local link address and not on CM.
> >>>
> >>>
> >>>            b. REQ first
> >>>
> >>>            Since its own REQ is outstanding, and as per link
> >>> address comparison,
> >>>            the left peer accepts then this will be rejected.
> >>>
> >>> Vivek
> >>>>
> >>>> 2) Left peer rejects
> >>>>           I think that this scenario works.
> >>>>
> >>>> Thanks
> >>>> Dror
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: Vivek Kashyap [mailto:[email protected]]
> >>>>> Sent: Tuesday, October 25, 2005 11:38 PM
> >>>>> To: Vandana Rao
> >>>>> Cc: Dror Goldenberg; '[email protected]'
> >>>>> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >>>>>
> >>>>>
> >>>>> Hi Vandana,
> >>>>>
> >>>>> I too agree there is no problem here.
> >>>>>
> >>>>> I think you are right if the left peer accepts the connection. 
> >>>>> However, if the reverse was the case, that is the left
> >>> peer rejected
> >>>>> the connection since it is found that the local address is 
> >>>>> numerically larger. It will do this comparison since its
> >>> REQ is also
> >>>>> outstanding.  The right peer will not receive any REQ  (it
> >>> is delayed
> >>>>> or yet to be retransmitted). If it receives the reject it
> >>> will cancel
> >>>>> its request. At a later time it will receive the 
> >>>>> delayed/retransmitted request and one connection will be 
> >>>>> established.
> >>>>>
> >>>>> Dror, do these two scenarios look right to you?
> >>>>>
> >>>>> Vivek
> >>>>>
> >>>>> On Thu, 20 Oct 2005, Vandana Rao wrote:
> >>>>>
> >>>>>> Hi Dror,
> >>>>>> I think you are confusing the 2 IDs that come into play in
> >>>>> this setup.
> >>>>>> The
> >>>>>> communication ID is something that the CM entity on a node
> >>>>> understands but
> >>>>>> the transaction ID is something that the MAD handling
> >>>>> entity uses (for
> >>>>>> retransmission, req/resp matchup etc.).
> >>>>>> So, in the second slide, there should not be a
> >>>>> retransmission of the left
> >>>>>> peer REQ MAD since when the left peer accepts the
> >>>>> connection, it will cancel
> >>>>>> its outstanding REQ request and hence the retransmission
> >>>>> should not take
> >>>>>> place.
> >>>>>> -Vandana
> >>>>>>
> >>>>>> At 12:39 AM 10/20/2005, Dror Goldenberg wrote:
> >>>>>>> After giving it some more thought, I think that there 
> is still a 
> >>>>>>> problem. Please look at the attached pdf.
> >>>>>>>
> >>>>>>> In the first slide, everything happens smoothly, the left
> >>>>> peer knows
> >>>>>>> that
> >>>>>>> it has to accept the connection and the right peer knows
> >>>>> that it has to
> >>>>>>> decline.
> >>>>>>> On the 2nd slide, the left peer REQ transmission is
> >>>>> dropped in the fabric.
> >>>>>>> It is retransmitted independently by the CM way after a
> >>>>> channel has already
> >>>>>>> been established. Now the right side can not really tell
> >>>>> whether this is a
> >>>>>>> new channel request or an old "simultaneous connection
> >>>>> channel". This may
> >>>>>>> lead to two channels being opened mistakenly.
> >>>>>>>
> >>>>>>> I don't believe it can be solved by looking at the
> >>>>> communication ID.
> >>>>>>> This
> >>>>>>> number is just being fabricated by the sender of the REQ
> >>>>> and is just a
> >>>>>>> "random number" with respect to what we're trying to 
> determine.
> >>>>>>>
> >>>>>>> -Dror
> >>>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Dror Goldenberg
> >>>>>>> Sent: Wednesday, October 19, 2005 9:37 PM
> >>>>>>> To: 'Vandana Rao'; Dror Goldenberg; [email protected]
> >>>>>>> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >>>>>>>
> >>>>>>> Hi Vandana,
> >>>>>>>
> >>>>>>> Thanks for clarifying this. I agree that if IPoiB-CM
> >>>>> implementation
> >>>>>>> looks
> >>>>>>> at the Communication ID it can make those decisions
> >>>>> correctly. The question
> >>>>>>> is whether this value is exposed through common CM APIs.
> >>>>> For all other
> >>>>>>> purposes, the CM doesn't need to expose the Communication
> >>>>> ID to the ULP.
> >>>>>>> However, seems like it's not a big deal to expose this
> >>>>> value to the ULP.
> >>>>>>> Anyway, it worth noting this explanation in the RFC so
> >>>>> that it's clear that
> >>>>>>> a proper implementation of IPoIB-CM should monitor
> >>>>> Communication ID as part
> >>>>>>> of the simultaneous connection decision.
> >>>>>>>
> >>>>>>> -Dror
> >>>>>>> -----Original Message-----
> >>>>>>> From: Vandana Rao [mailto:[email protected]]
> >>>>>>> Sent: Wednesday, October 19, 2005 6:40 PM
> >>>>>>> To: Dror Goldenberg; [email protected]
> >>>>>>> Subject: Re: [Ipoverib] ipoib-cm multiple connection model
> >>>>>>>
> >>>>>>> Hi Dror,
> >>>>>>> The purpose of the MAD transaction ID is to allow one to
> >>>>> do what you
> >>>>>>> say
> >>>>>>> below, i.e. have multiple connection establishment MADs
> >>>>> between 2 peers. It
> >>>>>>> is essentially the same as the "channel ID" that you talk
> >>>>> about below. Its
> >>>>>>> just that it is a generic channel ID for any MAD
> >>>>> transactions, not just CM
> >>>>>>> MADs.
> >>>>>>> I do not believe there is any issue with existing IB CM in
> >>>>> this regard.
> >>>>>>> -Vandana
> >>>>>>>
> >>>>>>> At 03:11 AM 10/19/2005, Dror Goldenberg wrote:
> >>>>>>>> I think that the current model for multiple connections 
> >>>>>>>> establishment between two peers works well for 1 
> connection but 
> >>>>>>>> is broken for
> >>>>> more than one
> >>>>>>>> connection.
> >>>>>>>> Because of cases where CM packets are dropped or travel
> >>>>> on different VLs,
> >>>>>>>> they
> >>>>>>>> might get reordered on the way and observed in a
> >>>>> different order than were
> >>>>>>>> originally
> >>>>>>>> sent. This breaks the current model which assumes that
> >>>>> the REQs are sent
> >>>>>>>> and
> >>>>>>>> processed in order.
> >>>>>>>>
> >>>>>>>> I think that we need to think of a model which is 
> robust to CM 
> >>>>>>>> packets reordering which can be one of:
> >>>>>>>> - Adding a "channel ID" in the private data. The field
> >>>>> goes 0,1,2 and on.
> >>>>>>>> It helps
> >>>>>>>>    synchronizing both peers on which is the channel at
> >>>>> question now. The
> >>>>>>>> rest
> >>>>>>>>    of the decision (per channel) of whether to accept or
> >>>>> reject can be the
> >>>>>>>> same
> >>>>>>>>    as defined in the draft.
> >>>>>>>> - Not supporting multiple connections between the same peers.
> >>>>>>>>
> >>>>>>>> -Dror
> >>>>>>>> _______________________________________________
> >>>>>>>> IPoverIB mailing list
> >>>>>>>> [email protected]
> >>> https://www1.ietf.org/mailman/listinfo/ipoverib
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >
> >_______________________________________________
> >IPoverIB mailing list
> >[email protected] https://www1.ietf.org/mailman/listinfo/ipoverib
> 

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


--=_alternative 007F187F882570BA_=
Content-Type: text/html; charset="US-ASCII"


<br><font size=2 face="sans-serif">ok..I'll target submitting the updated
draft by monday. </font>
<br>
<br><font size=2 face="sans-serif">Vivek</font>
<br><font size=2 face="sans-serif">--<br>
Vivek Kashyap<br>
Linux Technology Center, IBM<br>
[email protected] <br>
[email protected] <br>
Ph: 503 578 3422 T/L: 775 3422<br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td>
<td><font size=1 face="sans-serif"><b>&quot;Dror Goldenberg&quot; &lt;[email protected]&gt;</b></font>
<br><font size=1 face="sans-serif">Sent by: [email protected]</font>
<p><font size=1 face="sans-serif">11/15/2005 03:04 PM</font>
<td><font size=1 face="Arial">&nbsp; &nbsp; &nbsp; &nbsp; </font>
<br><font size=1 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; To:
&nbsp; &nbsp; &nbsp; &nbsp;&quot;H.K. Jerry Chu&quot; &lt;[email protected]&gt;,
&lt;[email protected]&gt;, [email protected]</font>
<br><font size=1 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; cc:
&nbsp; &nbsp; &nbsp; &nbsp;[email protected], [email protected]</font>
<br><font size=1 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Subject:
&nbsp; &nbsp; &nbsp; &nbsp;RE: [Ipoverib] ipoib-cm multiple connection
model</font></table>
<br>
<br>
<br><font size=2><tt>I think it's OK. We can move forward from my perspective.<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: H.K. Jerry Chu [mailto:[email protected]] <br>
&gt; Sent: Monday, November 14, 2005 9:34 PM<br>
&gt; To: [email protected]; [email protected]<br>
&gt; Cc: [email protected]; [email protected]<br>
&gt; Subject: RE: [Ipoverib] ipoib-cm multiple connection model<br>
&gt; <br>
&gt; <br>
&gt; Hi folks,<br>
&gt; <br>
&gt; Have we reached a concensus the connection setup procedure in <br>
&gt; the current draft is &quot;good enough&quot;, or folks still think
it <br>
&gt; needs to be improved?<br>
&gt; <br>
&gt; I'd like to see any remaining issue resolved asap so we can <br>
&gt; start a WG last call (after Vivke revs the draft based on all <br>
&gt; the comments so far).<br>
&gt; <br>
&gt; Jerry<br>
&gt; <br>
&gt; &gt;Date: Thu, 27 Oct 2005 22:47:16 -0700 (PDT)<br>
&gt; &gt;From: Vivek Kashyap &lt;[email protected]&gt;<br>
&gt; &gt;X-X-Sender: [email protected]<br>
&gt; &gt;To: Dror Goldenberg &lt;[email protected]&gt;<br>
&gt; &gt;Subject: RE: [Ipoverib] ipoib-cm multiple connection model<br>
&gt; &gt;MIME-Version: 1.0<br>
&gt; &gt;X-Spam-Score: 0.0 (/)<br>
&gt; &gt;X-Scan-Signature: f8ee348dcc4be4a59bc395f7cd6343ad<br>
&gt; &gt;Cc: &quot;'[email protected]'&quot; &lt;[email protected]&gt;,
Vandana Rao <br>
&gt; &gt;&lt;[email protected]&gt;<br>
&gt; &gt;X-BeenThere: [email protected]<br>
&gt; &gt;X-Mailman-Version: 2.1.5<br>
&gt; &gt;List-Id: IP over InfiniBand WG Discussion List &lt;ipoverib.ietf.org&gt;<br>
&gt; &gt;List-Unsubscribe: &lt;https://www1.ietf.org/mailman/listinfo/ipoverib&gt;,
<br>
&gt; &lt;mailto:[email protected]?subject=unsubscribe&gt;<br>
&gt; &gt;List-Post: &lt;mailto:[email protected]&gt;<br>
&gt; &gt;List-Help: &lt;mailto:[email protected]?subject=help&gt;<br>
&gt; &gt;List-Subscribe: &lt;https://www1.ietf.org/mailman/listinfo/ipoverib&gt;,<br>
&gt; &lt;mailto:[email protected]?subject=subscribe&gt;<br>
&gt; &gt;<br>
&gt; &gt;Hi Dror,<br>
&gt; &gt;<br>
&gt; &gt;On Thu, 27 Oct 2005, Dror Goldenberg wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; Hi Vivek,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I agree with the flows that you describe, and with the <br>
&gt; fact that the <br>
&gt; &gt;&gt; original requester has always the &quot;second chance&quot;
to withdraw its <br>
&gt; &gt;&gt; request by rejecting the REP. However, in my opinion, <br>
&gt; giving all this <br>
&gt; &gt;&gt; freedom to the implementation can lead to interoperability
<br>
&gt; issues and <br>
&gt; &gt;&gt; poor implementations. If an implementation tries to open
n <br>
&gt; &gt;&gt; connections with a certain peer, it may end up opening <br>
&gt; more or less <br>
&gt; &gt;&gt; than n and that might take few iterations and that all <br>
&gt; depends on the <br>
&gt; &gt;&gt; CM timing and some other &quot;unrelated&quot; parameters
- how can you even <br>
&gt; &gt;&gt; test it ? I therefore feel that we should provide a robust
and <br>
&gt; &gt;&gt; deterministic specification of how to establish more than
one <br>
&gt; &gt;&gt; connection in the RFC or live with a single connection.<br>
&gt; &gt;<br>
&gt; &gt;I'd like to delve into this a bit more to be sure. As per <br>
&gt; &gt;your/Vandana's comments, the left peer will cancel the <br>
&gt; request. Isn't <br>
&gt; &gt;this is a 'conscious' decision by the ULP? The ULP would then
remove <br>
&gt; &gt;the its internal object that it would associate with this IB <br>
&gt; &gt;connection. If it was successful in cancelling the REQ then there
is <br>
&gt; &gt;only one connection.<br>
&gt; &gt;<br>
&gt; &gt;If, however, as you pointed out it is unable to, it might <br>
&gt; receive a REP<br>
&gt; &gt;*if* the remote peer accepts multiple connections. The left <br>
&gt; peer's ulp <br>
&gt; &gt;however will not find any object associated with the private <br>
&gt; data and <br>
&gt; &gt;the connection request (there will be another one already existing
<br>
&gt; &gt;though) and can use that to indicate rejection.<br>
&gt; &gt;<br>
&gt; &gt;Does the above sound right?<br>
&gt; &gt;<br>
&gt; &gt;Vivek<br>
&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; BTW, this is my opinion in this case, and if folks feel OK
<br>
&gt; with the <br>
&gt; &gt;&gt; current draft, then maybe we should move on ?<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks<br>
&gt; &gt;&gt; Dror<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt;&gt; From: Vivek Kashyap [mailto:[email protected]]<br>
&gt; &gt;&gt;&gt; Sent: Wednesday, October 26, 2005 10:33 PM<br>
&gt; &gt;&gt;&gt; To: Dror Goldenberg<br>
&gt; &gt;&gt;&gt; Cc: Vandana Rao; '[email protected]'<br>
&gt; &gt;&gt;&gt; Subject: RE: [Ipoverib] ipoib-cm multiple connection
model<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On Wed, 26 Oct 2005, Dror Goldenberg wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Vivek,<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; I agree that the two scenarios you mention here are
the <br>
&gt; interesting <br>
&gt; &gt;&gt;&gt;&gt; ones. I don't agree about the solution. Let's look
at the two <br>
&gt; &gt;&gt;&gt;&gt; cases:<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; 1) Left peer accepts<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;I disagree. You have an assumption that left
peer can<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;revoke its original connection request - BEFORE
transmitting<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;the REP that accepts the peer request. I am
not sure that<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;you can do it with every CM implementation.
Even if you can,<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;then the HCA can reorder those packets if they
are on<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;different QPs, and the fabric can reorder them
as well if<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;they are on different VLs.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Yes, that has the potential for extra connections..however,
the <br>
&gt; &gt;&gt;&gt; following will occur if CM checks don't work.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Left peer accepted. Sent a REP. And of course the REQ
was <br>
&gt; also sent. <br>
&gt; &gt;&gt;&gt; The right receiver can receive :<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; a. REP first<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; It sets up the connection. Then receives a REQ.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; i) If it accepts multiple connections from the same
peer:<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; it will &nbsp;REP with a new QP (connection).<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;Now, if the left peer decides that it didn't<br>
&gt; &gt;&gt;&gt; need another<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;connection it terminates the connection.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;Otherwise, it is legitimate to setup multiple
<br>
&gt; connections<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;since it is equivalent to a second valid request.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; ii) If the right peer does not accept multiple connections
from <br>
&gt; &gt;&gt;&gt; the<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; same peer then it will reject the request.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; Note that these decisions in part depend on the ipoib
component <br>
&gt; &gt;&gt;&gt; peeking<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; into the local link address and not on CM.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; b. REQ first<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; Since its own REQ is outstanding, and as per link<br>
&gt; &gt;&gt;&gt; address comparison,<br>
&gt; &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; the left peer accepts then this will be rejected.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Vivek<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; 2) Left peer rejects<br>
&gt; &gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;I think that this scenario works.<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Thanks<br>
&gt; &gt;&gt;&gt;&gt; Dror<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt;&gt;&gt;&gt; From: Vivek Kashyap [mailto:[email protected]]<br>
&gt; &gt;&gt;&gt;&gt;&gt; Sent: Tuesday, October 25, 2005 11:38 PM<br>
&gt; &gt;&gt;&gt;&gt;&gt; To: Vandana Rao<br>
&gt; &gt;&gt;&gt;&gt;&gt; Cc: Dror Goldenberg; '[email protected]'<br>
&gt; &gt;&gt;&gt;&gt;&gt; Subject: RE: [Ipoverib] ipoib-cm multiple connection
model<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; Hi Vandana,<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; I too agree there is no problem here.<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; I think you are right if the left peer accepts
the connection. <br>
&gt; &gt;&gt;&gt;&gt;&gt; However, if the reverse was the case, that is
the left<br>
&gt; &gt;&gt;&gt; peer rejected<br>
&gt; &gt;&gt;&gt;&gt;&gt; the connection since it is found that the local
address is <br>
&gt; &gt;&gt;&gt;&gt;&gt; numerically larger. It will do this comparison
since its<br>
&gt; &gt;&gt;&gt; REQ is also<br>
&gt; &gt;&gt;&gt;&gt;&gt; outstanding. &nbsp;The right peer will not receive
any REQ &nbsp;(it<br>
&gt; &gt;&gt;&gt; is delayed<br>
&gt; &gt;&gt;&gt;&gt;&gt; or yet to be retransmitted). If it receives the
reject it<br>
&gt; &gt;&gt;&gt; will cancel<br>
&gt; &gt;&gt;&gt;&gt;&gt; its request. At a later time it will receive
the <br>
&gt; &gt;&gt;&gt;&gt;&gt; delayed/retransmitted request and one connection
will be <br>
&gt; &gt;&gt;&gt;&gt;&gt; established.<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; Dror, do these two scenarios look right to you?<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; Vivek<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; On Thu, 20 Oct 2005, Vandana Rao wrote:<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; Hi Dror,<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; I think you are confusing the 2 IDs that
come into play in<br>
&gt; &gt;&gt;&gt;&gt;&gt; this setup.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; The<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; communication ID is something that the CM
entity on a node<br>
&gt; &gt;&gt;&gt;&gt;&gt; understands but<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; the transaction ID is something that the
MAD handling<br>
&gt; &gt;&gt;&gt;&gt;&gt; entity uses (for<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; retransmission, req/resp matchup etc.).<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; So, in the second slide, there should not
be a<br>
&gt; &gt;&gt;&gt;&gt;&gt; retransmission of the left<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; peer REQ MAD since when the left peer accepts
the<br>
&gt; &gt;&gt;&gt;&gt;&gt; connection, it will cancel<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; its outstanding REQ request and hence the
retransmission<br>
&gt; &gt;&gt;&gt;&gt;&gt; should not take<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; place.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; -Vandana<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt; At 12:39 AM 10/20/2005, Dror Goldenberg wrote:<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; After giving it some more thought, I
think that there <br>
&gt; is still a <br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; problem. Please look at the attached
pdf.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; In the first slide, everything happens
smoothly, the left<br>
&gt; &gt;&gt;&gt;&gt;&gt; peer knows<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; that<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; it has to accept the connection and the
right peer knows<br>
&gt; &gt;&gt;&gt;&gt;&gt; that it has to<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; decline.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; On the 2nd slide, the left peer REQ transmission
is<br>
&gt; &gt;&gt;&gt;&gt;&gt; dropped in the fabric.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; It is retransmitted independently by
the CM way after a<br>
&gt; &gt;&gt;&gt;&gt;&gt; channel has already<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; been established. Now the right side
can not really tell<br>
&gt; &gt;&gt;&gt;&gt;&gt; whether this is a<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; new channel request or an old &quot;simultaneous
connection<br>
&gt; &gt;&gt;&gt;&gt;&gt; channel&quot;. This may<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; lead to two channels being opened mistakenly.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; I don't believe it can be solved by looking
at the<br>
&gt; &gt;&gt;&gt;&gt;&gt; communication ID.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; This<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; number is just being fabricated by the
sender of the REQ<br>
&gt; &gt;&gt;&gt;&gt;&gt; and is just a<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; &quot;random number&quot; with respect
to what we're trying to <br>
&gt; determine.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; -Dror<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; From: Dror Goldenberg<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Sent: Wednesday, October 19, 2005 9:37
PM<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; To: 'Vandana Rao'; Dror Goldenberg; [email protected]<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Subject: RE: [Ipoverib] ipoib-cm multiple
connection model<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi Vandana,<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks for clarifying this. I agree that
if IPoiB-CM<br>
&gt; &gt;&gt;&gt;&gt;&gt; implementation<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; looks<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; at the Communication ID it can make those
decisions<br>
&gt; &gt;&gt;&gt;&gt;&gt; correctly. The question<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; is whether this value is exposed through
common CM APIs.<br>
&gt; &gt;&gt;&gt;&gt;&gt; For all other<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; purposes, the CM doesn't need to expose
the Communication<br>
&gt; &gt;&gt;&gt;&gt;&gt; ID to the ULP.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; However, seems like it's not a big deal
to expose this<br>
&gt; &gt;&gt;&gt;&gt;&gt; value to the ULP.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Anyway, it worth noting this explanation
in the RFC so<br>
&gt; &gt;&gt;&gt;&gt;&gt; that it's clear that<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; a proper implementation of IPoIB-CM should
monitor<br>
&gt; &gt;&gt;&gt;&gt;&gt; Communication ID as part<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; of the simultaneous connection decision.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; -Dror<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; From: Vandana Rao [mailto:[email protected]]<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Sent: Wednesday, October 19, 2005 6:40
PM<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; To: Dror Goldenberg; [email protected]<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Subject: Re: [Ipoverib] ipoib-cm multiple
connection model<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi Dror,<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; The purpose of the MAD transaction ID
is to allow one to<br>
&gt; &gt;&gt;&gt;&gt;&gt; do what you<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; say<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; below, i.e. have multiple connection
establishment MADs<br>
&gt; &gt;&gt;&gt;&gt;&gt; between 2 peers. It<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; is essentially the same as the &quot;channel
ID&quot; that you talk<br>
&gt; &gt;&gt;&gt;&gt;&gt; about below. Its<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; just that it is a generic channel ID
for any MAD<br>
&gt; &gt;&gt;&gt;&gt;&gt; transactions, not just CM<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; MADs.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; I do not believe there is any issue with
existing IB CM in<br>
&gt; &gt;&gt;&gt;&gt;&gt; this regard.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; -Vandana<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; At 03:11 AM 10/19/2005, Dror Goldenberg
wrote:<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I think that the current model for
multiple connections <br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; establishment between two peers works
well for 1 <br>
&gt; connection but <br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; is broken for<br>
&gt; &gt;&gt;&gt;&gt;&gt; more than one<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; connection.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Because of cases where CM packets
are dropped or travel<br>
&gt; &gt;&gt;&gt;&gt;&gt; on different VLs,<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; they<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; might get reordered on the way and
observed in a<br>
&gt; &gt;&gt;&gt;&gt;&gt; different order than were<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; originally<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; sent. This breaks the current model
which assumes that<br>
&gt; &gt;&gt;&gt;&gt;&gt; the REQs are sent<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; processed in order.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I think that we need to think of
a model which is <br>
&gt; robust to CM <br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; packets reordering which can be one
of:<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; - Adding a &quot;channel ID&quot;
in the private data. The field<br>
&gt; &gt;&gt;&gt;&gt;&gt; goes 0,1,2 and on.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; It helps<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp;synchronizing both peers
on which is the channel at<br>
&gt; &gt;&gt;&gt;&gt;&gt; question now. The<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; rest<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp;of the decision (per
channel) of whether to accept or<br>
&gt; &gt;&gt;&gt;&gt;&gt; reject can be the<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; same<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp;as defined in the draft.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; - Not supporting multiple connections
between the same peers.<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; -Dror<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; IPoverIB mailing list<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; [email protected]<br>
&gt; &gt;&gt;&gt; https://www1.ietf.org/mailman/listinfo/ipoverib<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt;_______________________________________________<br>
&gt; &gt;IPoverIB mailing list<br>
&gt; &gt;[email protected] https://www1.ietf.org/mailman/listinfo/ipoverib<br>
&gt; <br>
<br>
_______________________________________________<br>
IPoverIB mailing list<br>
[email protected]<br>
https://www1.ietf.org/mailman/listinfo/ipoverib<br>
</tt></font>
<br>
--=_alternative 007F187F882570BA_=--


--===============1592646987==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============1592646987==--