Re: Some Questions on the IPoIB - Connected Mode Draft

Vivek Kashyap <[email protected]> Wed, 28 Jul 2004 15:33:36 -0700
Newsgroups gmane.ietf.ipoib
Message-ID <[email protected]>





Hal,

Thanks for your comments. My reply within <VK> below.

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


Hi,

I just finished reading the "IPoIB connected mode" I-D (
http://www.ietf.org/internet-drafts/draft-kashyap-ipoib-connected-mode-02.txt
) and have some questions:

1. In 2.2  Outline of Address Resolution, it is stated that:
Every IPoIB-CM interface MUST have two QPs associated with it:
                1) A connected mode QP
                2) An unreliable datagram mode QP
I'm a little confused by the description of the first QP. Is this a really
a UD QP used for connected mode address resolution (when
the interface is not in the same scope and partition as the UD one) ? It is
also later stated (in 3.0 Address Resolution) that IPoIB-CM
can use the same UD QP as the one used by IPoIB-UD interface when they
share the same partition and scope so it seems this
contradicts the earlier statement. It seems like the UD QP for connected
mode is only required when the same partition and scope
are not shared with the IPoIB-UD interface.

<VK>
Connected mode does not support multicasting. Address resolution is best
implemented as a broadcast/multicast service for IP. Therefore, the idea is
to use an unreliable datagram QP for address resolution - the 2nd QP
mentioned. The first QP is the connected mode (RC or UC) over which the
data transfer after address resolution will occur. That is, there are two
types of QPs required when implementing IPoIB-CM: 1) a Connected mode QP
(2) and unreliable datagram QP.

It is further suggested that one MAY choose to use the same UD QP as used
for IPoIB-UD for address resolution but it  is not required that one do so.
One can certainly  use a different UD QP. This follows from the broadcast
GID being the same in all cases if the IP version, scope and P_Key are the
same.

<VK>

2. In 3.1 Link Layer Address, it is stated that the RC and UC flags are
mutually exclusive. Is this a requirement or more a
configuration issue ? Is there something which would break with both flags
on ? The only issue I see is if a IPoIB-CM subnet
includes some nodes supporting only RC and others only UC. That couldn't be
mixed. I suppose setting both opens the door
for that to occur.

<VK> yes, exactly. Therefore the drafts keeps the two separate. <VK>



3. In 3.2 IB Connection Setup, it is stated that the node SHOULD NOT
attempt another connection to the remote peer
using the same service ID as for an already existing connection. Wouldn't
that potentially be useful for support of QoS ?
Is this a recommendation (SHOULD NOT) just to reduce the number of
connections (and QPs) ?

<VK> The IB level connection link is between two machines. The peer might
return the same QP, reject the request or grant another as per IB. The
caller needs to keep track of this in its internal tables. Additionally,
the respondent should do the same if it accepts multiple IB connections.
These aspects are hidden from the IP layer.  Hence, though not disallowed
since it can be useful, multiple IB connections must be handled carefully
by the user.<VK>


4. In 3.3 Service ID, wouldn't it be better if the QPN didn't overlap a 32
bit boundary ?

<VK>  The QPN is 24 bits though we could move it by a byte.  <VK>


5. In 5.1 Per Connection MTU, why does the peer need to REJ the connection
the the REQ desired MTU is not acceptable
(and is more than the minimum MTU) ? Couldn't we REP with the "MTU granted"
for that case ? The active side which
issued the REQ could always REJ the REP if it didn't like the "MTU
granted".

<VK> I'd suggest the following to make it a very simple transacation.

The private data field includes only one value the 'Desired MTU'.  The
'minimum MTU' is the 'link MTU' i.e. the value received on joining the
broadcast-GID (will be known  to all nodes). If the receiver cannot accept
the Desired MTU then it responds with the 'link MTU'. If it can then it
responds with the 'Desired MTU'.

An alternative, based on your comment above is to, let the response be any
value between minimum to 'desired'. Then the original respondent has the
option of either accepting that value or responding with the 'Minimum'.



REJ is a bad option since the nodes belong to the same 'link' and hence
should be able to talk to one another.  REJ can be used for error cases
only.

<VK>


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

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