Subject: [rddp] Re: Clause 4 comments

From: "Shah, Hemal" <[email-masked]>
Date: Tue, 10 Feb 2004 16:48:14 -0800

Barry,

Below is my response to editorial comments on CLAUSE 4 that you posted
to the reflector in late Nov.

Hemal

*	To: "RDDP" <[email-masked]> 
*	Subject: [rddp] Clause 4 comments to draft-ietf-rddp-ddp-01 
*	From: "Barry Reinhold" <[email-masked]> 
*	Date: Mon, 17 Nov 2003 13:33:37 -0500 
*	Importance: Normal 
*	List-help: <mailto:[email-masked]?subject=help> 
*	List-id: IETF Remote Direct Data Placement (rddp) WG
<rddp.ietf.org> 
*	List-post: <mailto:[email-masked]> 
*	List-subscribe:
<https://www1.ietf.org/mailman/listinfo/rddp>,<mailto:rddp-request@ietf.
org?subject=subscribe> 
*	List-unsubscribe:
<https://www1.ietf.org/mailman/listinfo/rddp>,<mailto:rddp-request@ietf.
org?subject=unsubscribe> 
*	Sender: [email-masked] 

  _____  

CLAUSE 4
 
Below are comments on clause 4. There are 32 editorial comments, most
are nits, but there are some rewordings that are significantly
different. Most of the rewording was made in an effort to improve the
clarity of the concept being defined. None of the rewording is believed
to be a technical change.

1, Editorial, Low, 4.1 under Advertisement
 
Is: the act
 
Suggest: The act
 
Change is: Capitalize "the"
[hvs] Change accepted.
 
2, Editorial, low, 4.1 under Data Delivery
 
Is: Delivery is defined as the process of informing the ULP or consumer
that a particular Message is available for use.
 
Suggest: Delivery is defined as the process of informing the ULP or
consumer that a particular message is available for use.
 
Change: capitalization of "message" removed
[hvs] Change accepted.
3, Editorial, low, 4.1 under Data Delivery
 
Is: This is specifically different from "Placement", which may generally
occur in any order, while the order of "Delivery" is strictly defined.
 
Suggest: Delivery is distinct from "placement". Placement of data into
ULP buffers may occur in any order, whereas the order of message
"delivery" to the ULP is strictly defined.
 
Change: Reword
[hvs] Change not accepted. I would rather keep the text as it is.
 
4, Editorial, low, 4.1 under Data Sink
 
Is: Note that the Data Sink can be required to both send and receive
RDMA/DDP Messages to transfer a data payload.
 
Suggest: Note that the Data Sink can be required to both send and
receive RDMA/DDP messages to transfer a data payload.
 
Change: capitalization of "message" removed
[hvs] Change not accepted. Stick with the convention.
 
5, Editorial, low, 4.1 under Data Sink
 
Is: Note that the Data Source can be required to both send and receive
RDMA/DDP Messages to transfer a data payload.
 
Suggest: Note that the Data Source can be required to both send and
receive RDMA/DDP messages to transfer a data payload.
 
Change: capitalization of "message" removed
[hvs] Change not accepted. Stick with the convention.
 
6, Editorial, low, 4.1 under Node
 
Is: A computing device attached to one or more links of network.
 
Suggest: A computing device attached to a network by one or more links.
 
Change: Reword
[hvs] Change not accepted. Added a before the network

7. Editorial, low, 4.1 under ULP
 
Is: The ULP for RDMA/DDP is expected to be an OS, Application,
adaptation layer, or proprietary device.
 
Suggest: The ULP for RDMA/DDP is expected to be an OS, application,
adaptation layer, or proprietary device.
 
Change: capitalization of application removed
[hvs] Change accepted.
 
8. Editorial, low 4.1 under ULP Message
 
Is: the ULP data that is handed to a specific protocol layer for
transmission.
 
Suggest: The ULP data that is handed to a specific protocol layer for
transmission.
 
Change: Capitalize the first word in the sentence
[hvs] Change accepted.
 
9. Editorial, low 4.1, 4.2
 
Consistency of sections - The current draft has three sub sections,
General, LLP, and DDP. Given that framework it appears that there should
be a sub section for ULP containing (ULP, ULP message, ULP payload, ULP
buffer, and ULP message length). However, the way a glossary is used is
to quickly identify the meaning of a term. Given the size of the
glossary a single level alphabetical organization is probably better.
 
Suggest: Removing sub sections in the glossary.
[hvs] Change not accepted.
 
10. Editorial, medium, 4.2 & 4.3 under LLP Connection and LLP Stream,
also relates to 4.3 DDP Stream.
 
The definitions of stream and connection could be more precise.
Currently defined are DDP stream, LLP stream, and LLP connection. 
 
Within the draft document connection is used five times without a LLP
qualification (clause 3.2 page 6, clause 4.1 under local peer, remote
peer, and LLP stream, clause 10.4), stream is used four times (8.2, 9.1
item 1, 9.1 item 1 under non-zero case, and 10.4 item 3) without
qualification.
 
Suggest: Defining DDP stream, and DDP connection in terms of concepts
significant to DDP. Define LLP connection and LLP stream by reference to
LLP protocol specifications. Possible wording below:
 
DDP stream - A logical channel between a local peer and a remote peer in
which the ordering of a sequence of DDP messages is maintained. There is
no guarantee of message ordering when a sequence of DDP messages is sent
over more then one stream.
 
DDP connection - An association between two DDP peers that provides a
context for DDP streams. DDP streams can not exist outside the context
of a DDP connection. If supported by the LLP, more then one DDP stream
may exist within a single DDP connection as in SCTP. 
 
LLP connection - A connection as defined by the lower layer protocol.
See [SCTP], [TCP].
 
LLP stream - The logical channel provided by the LLP that allows the
ordered delivery of DDP messages between DDP peers. For SCTP the LLP
stream is the SCTP stream (see [SCTP]). For TCP the ordered delivery
service is provided by the TCP connection (see [TCP]). Note that TCP
supports no more than one DDP stream per TCP connection.
 
[hvs] Change not accepted. The current definitions of LLP connection,
LLP Stream, and DDP Stream are
fine. I do see a need to have a DDP connection definition.
 
11. Editorial, medium, 4.2 under ULPDU
 
Is: Upper Layer Protocol Data Unit.  The data record defined by 
       the layer above MPA.
 
Suggest: Upper Layer Protocol Data Unit.  The data record defined by 
       the layer above DDP.
 
Change: Replaced MPA with DDP.
[hvs] Replaced MPA with LLP.
 
12. Editorial, low, 4.3 under Data Placement
 
Is: Placement (Placement, Placed, Places) - For DDP, this term is 
       specifically used to indicate the process of writing to a data 
       buffer by a DDP implementation.  DDP Segments carry Placement 
       information, which may be used by the receiving DDP 
       implementation to perform Data Placement of the DDP Segment ULP 
       Payload. See "Data Delivery".
 
Suggest: Placement (Placement, Placed, Places) - The process of writing
the ULP payload of a DDP segment to the data buffer specified in the
header of the DDP segment. Placement and delivery have specific and
distinct meaning in DDP. See "Data Delivery" and "Direct Data
Placement".
 
Change: Reword and simplify, reference Direct Data Placement for
additional details.
[hvs] Added "Direct Data Placement" at the end. Other text is still the
same.
 
13. Editorial, low, 4.3 under DDP Control Field
 
Is: a fixed 8-bit field in the DDP Header.
 
Suggested: A fixed 8-bit field in the DDP header.
 
Change: Capitalize "a", remove capitalization of header
[hvs] Change accepted.
 
14. Editorial, low, 4.3 under DDP Header
 
Is: The header present in all DDP Segments. The DDP Header 
       contains control and Placement fields that are used to define 
       the final Placement location for the ULP Payload carried in a 
       DDP Segment.
 
Suggest: The header present in all DDP segments. The DDP header contains
control and placement information. (See clause 6)
 
Change: Reword and added reference.
[hvs] Change not accepted. I am fine with the current text.
 
15. Editorial, low, 4.3 under DDP Message
 
 Is: A ULP defined unit of data interchange, which is 
       subdivided into one or more DDP Segments. This segmentation may 
       occur for a variety of reasons, including segmentation to 
       respect the maximum segment size of the underlying transport 
       protocol.
 
Suggest: A ULP defined unit of data interchange, which is 
       subdivided into one or more DDP segments. This segmentation may 
       occur for a variety of reasons, including segmentation to 
       respect the maximum segment size of the underlying transport 
       protocol.
 
Change: Changed capitalization of DDP Segments... (nice definition BTW)
[hvs] Change not accepted. Sticking with the convention.
 
16. Editorial, low 4.3 under DDP Segment
 
Is: The smallest unit of data transfer for the DDP 
       protocol. It includes a DDP Header and ULP Payload (if present). 
       A DDP Segment should be sized to fit within the Lower Layer 
       Protocol MULPDU.
 
Suggest: The smallest unit of data transfer for the DDP 
       protocol. It includes a DDP header and ULP payload (if present). 
       A DDP segment should be sized to fit within the lower layer 
       protocol MULPDU.
 
Change: Capitalization
[hvs] Change not accepted.
 
17. Editorial, low 4.3 under Direct Data Placement
 
Is: A mechanism whereby ULP data contained 
       within DDP Segments may be Placed directly into its final 
       destination in memory without processing of the ULP. This may 
       occur even when the DDP Segments arrive out of order. Out of 
       order Placement support may require the Data Sink to implement 
       the LLP and DDP as one functional block.
 
Suggest: The placement of the ULP payload in a DDP segment into its
final memory location without processing by the ULP. This may occur even
when the DDP Segments arrive out of order. Out of order placement
support may require the data sink to implement the LLP and DDP as one
functional block.
 
Change: Reword and capitalization
[hvs] Change not accepted. Rewording is not making it better. 
 
18. Editorial, medium 4.3 under Direct Data Placement Protocol
 
Is: Also, a wire protocol that 
       supports Direct Data Placement by associating explicit memory 
       buffer placement information with the LLP payload units.
 
Suggest: A wire protocol that enables direct data placement by
associating placement information with the ULP payload units. 
 
Change: Wording, replaced LLP with ULP.
[hvs] Change not accepted. LLP is correct because placement information
is in LLP payload.
 
19. Editorial, low 4.3 under Message Offset
 
Is: For the DDP Untagged Buffer Model, specifies 
       the offset, in octets, from the start of a DDP Message.
 
Suggest: The offset, in octets, from the start of a DDP message. Used
with the untagged buffer model.
 
Change: Wording, capitalization
[hvs] Rewording not accepted. Not seeing advantage of rewording.
 
20. Editorial, low 4.3 under Message Sequence Number (MSN)
 
Is: For the DDP Untagged Buffer Model, specifies a sequence number that
is increasing with each DDP Message.
 
Suggest:   A sequence number in the header of a DDP segment. Used with
untagged buffers. See clause 6.3.
 
Change: Replaced definition with reference to clause 6.3. The two did
not appear to be consistent; goal is to have a single definition in
spec.
[hvs] Change not accepted. Keeping the definition unchanged.
 
21. Editorial, low 4.3 under Protection Domain
 
Is: A Mechanism used to associate a DDP Stream 
       and an STag. Under this mechanism, the use of an STag is valid 
       on a DDP Stream if the STag has the same Protection Domain 
       Identifier (PD ID) as the DDP Stream.
 
Suggest: A Mechanism used to associate a DDP stream 
       and an STag. Under this mechanism, the use of an STag is valid 
       on a DDP stream if the STag has the same protection domain 
       identifier (PD ID) as the DDP stream.
 
Change: Capitalization
[hvs] Change not accepted.
 
22. Editorial, low 4.3 under QN
 
Is: For the DDP Untagged Buffer Model, identifies a destination Data
Sink queue for a DDP Segment.
 
Suggest: The destination data sink queue for a DDP segment. Used with
the untagged buffer model.
 
Change: wording, capitalization
[hvs] Change not accepted. 
 
23. Editorial, low 4.3 under Steering Tag
 
Is: An identifier of a Tagged Buffer on a Node, valid as 
       defined within a protocol specification.
 
Suggest: An identifier of a tagged buffer on a node, valid as 
       defined within a protocol specification. 
 
Change: capitalization
[hvs] Change not accepted. Sticking with the convention.
 
24. Editorial, low 4.3 under Tagged Buffer
 
Is: A buffer that is explicitly Advertised to the Remote 
       Peer through exchange of an STag, Target Offset, and length.  
 
Suggest: A buffer that is explicitly advertised to the remote 
       peer through exchange of an STag, target offset, and length.
 
Change: Capitalization
[hvs] Change not accepted. Sticking with the convention. Changed Target
Offset to Tagged Offset just to be consistent in the doc. Thanks for
pointing this out. 
 
25. Editorial, medium, under Tagged Buffer Model
 
Is: A DDP data transfer model used to transfer Tagged Buffers from the
Local Peer to the Remote Peer. 
 
Suggest: A DDP data transfer model that allows the local peer to
advertise a named buffer. (See clause 3.1)
 
Change: Reword and added reference to more complete definition
[hvs] Change not accepted. I will stick with the current definition.
 
26. Editorial, low 4.3 under Tagged DDP Message
 
Is:  A DDP Message that targets a Tagged Buffer. 
 
Suggest: A DDP message containing a Stag. Messages which contain Stags
use the tagged buffer model.
 
Change: Reworded to remove the word "targets"
[hvs] Change not accepted. I will stick with the current definition.
 
27. Editorial, low, 4.3 under Tagged Offset
 
Is:  The offset within a Tagged Buffer on a Node.
 
Suggest: The offset, in octets, from the start of a tagged buffer. Used
with the tagged buffer model.
 
Change: wording to make consistent with MO. Capitalization
[hvs] Change not accepted.
 
28. Editorial, low, 4.3 under ULP Buffer
 
Is: A buffer owned above the DDP Layer and advertised to 
       the DDP Layer either as a Tagged Buffer or an Untagged ULP 
       Buffer.
 
Suggest: A buffer owned above the DDP layer and advertised to 
       the DDP layer either as a tagged buffer or an untagged ULP 
       buffer.
 
Change: Capitalization
[hvs] Change not accepted.
 
29. Editorial, low, 4.3 under ULP Message Length
 
Is: is the total length of the ULP Payload contained 
       in a DDP Message.
 
Suggest: The total length, in octets, of the ULP payload contained in a
DDP message.
 
Change: removed leading is, added octets, changed capitalization.
[hvs] Change accepted.
 
30. Editorial, low, 4.3 under Untagged Buffer
 
Is: A buffer that is not explicitly Advertised to the 
       Remote Peer.  
 
Suggest: A buffer that is not explicitly advertised to the remote peer.
 
Change: capitalization
[hvs] Change not accepted. Defined term are used with capitalization.
 
31. Editorial, low, 4.3 under Untagged Buffer Model
 
Is: A DDP data transfer model used to transfer Untagged Buffers from the
Local Peer to the Remote Peer. 
 
Suggest: A DDP data transfer model that preserves ULP message boundaries
from the remote peer while keeping the local peers buffers anonymous.
(See clause 3.1)
[hvs] Change not accepted.
 
32. Editorial, low, 4.3 under Untagged DDP Message
 
Is: A DDP Message that targets an Untagged 
       Buffer.
 
Suggest: A DDP message containing a queue number. Messages which contain
queue numbers use the untagged buffer model.
 
Change: reworded to remove the word "targets"
[hvs] Change not accepted. The suggested text does not make the
definition better.

Barry Reinhold
Lamprey Networks
[email-masked]
(603) 868-8411