draft-ietf-rddp-sctp-06.txt   draft-ietf-rddp-sctp-07.txt 
Remote Direct Data Placement C. Bestler Remote Direct Data Placement C. Bestler
Working Group R. Stewart Working Group R. Stewart
Internet-Draft Editor Internet-Draft Editor
Expires: December 29, 2006 June 27, 2006 Intended status: Informational September 13, 2006
Expires: March 17, 2007
Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP)
Adaptation Adaptation
draft-ietf-rddp-sctp-06.txt draft-ietf-rddp-sctp-07.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 36
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 29, 2006. This Internet-Draft will expire on March 17, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The Internet Society (2006).
Abstract Abstract
This document specifies an Adaptation Layer to provide a Lower Layer This document specifies an Adaptation Layer to provide a Lower Layer
Protocol (LLP) service for Direct Data Placement (DDP) using the Protocol (LLP) service for Direct Data Placement (DDP) using the
Stream Control Transmission Protocol (SCTP). Stream Control Transmission Protocol (SCTP).
skipping to change at page 2, line 40 skipping to change at page 2, line 46
9. Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . 16 9. Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . 16
10. Sequenced Unordered Operation . . . . . . . . . . . . . . . . 17 10. Sequenced Unordered Operation . . . . . . . . . . . . . . . . 17
11. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 18 11. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11.1. Association Initialization . . . . . . . . . . . . . . . . 18 11.1. Association Initialization . . . . . . . . . . . . . . . . 18
11.2. Chunk Bundling . . . . . . . . . . . . . . . . . . . . . . 18 11.2. Chunk Bundling . . . . . . . . . . . . . . . . . . . . . . 18
11.3. Association Termination . . . . . . . . . . . . . . . . . 19 11.3. Association Termination . . . . . . . . . . . . . . . . . 19
12. IANA considerations . . . . . . . . . . . . . . . . . . . . . 20 12. IANA considerations . . . . . . . . . . . . . . . . . . . . . 20
13. Security Considerations . . . . . . . . . . . . . . . . . . . 21 13. Security Considerations . . . . . . . . . . . . . . . . . . . 21
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 22 14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 22
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
16. Normative references . . . . . . . . . . . . . . . . . . . . . 23 16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 16.1. Normative references . . . . . . . . . . . . . . . . . . . 24
Intellectual Property and Copyright Statements . . . . . . . . . . 25 16.2. Informative references . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26
Intellectual Property and Copyright Statements . . . . . . . . . . 27
1. Introduction 1. Introduction
This document describes a method to adapt Direct Data Placement This document describes a method to adapt Direct Data Placement
[I-D.ietf-rddp-ddp] to Stream Control Transmission Protocol (SCTP) [I-D.ietf-rddp-ddp] to Stream Control Transmission Protocol (SCTP)
[RFC2960]. [RFC2960].
Some implementations may include this adaptation layer within their Some implementations may include this adaptation layer within their
SCTP implementations to obtain maximum performance but the behavior SCTP implementations to obtain maximum performance but the behavior
of SCTP will be unaffected. An SCTP Layer used solely by this of SCTP will be unaffected. An SCTP Layer used solely by this
skipping to change at page 4, line 25 skipping to change at page 4, line 25
number assigned by the Adaptation Layer for each SCTP Data Chunk number assigned by the Adaptation Layer for each SCTP Data Chunk
sent. This is the order that chunks were submitted to SCTP, no sent. This is the order that chunks were submitted to SCTP, no
matter what order they are actually sent or received in. matter what order they are actually sent or received in.
DDP Segment - The smallest unit of data transfer for the DDP DDP Segment - The smallest unit of data transfer for the DDP
protocol. It includes a DDP Header and ULP Payload (if present). protocol. It includes a DDP Header and ULP Payload (if present).
A DDP Segment should be sized to fit within the Lower Layer A DDP Segment should be sized to fit within the Lower Layer
Protocol MULPDU. Protocol MULPDU.
DDP Segment Chunk - An SCTP Payload Data Chunk that encapsulates the DDP Segment Chunk - An SCTP Payload Data Chunk that encapsulates the
DDP Stream Sequence (DDP-SSN) and a DDP Segment. DDP-SSN and a DDP Segment.
DDP Stream - a sequence of DDP Segments whose ordering is defined by DDP Stream - a sequence of DDP Segments whose ordering is defined by
the LLP. For SCTP, a DDP Stream maps directly to a bi-directional the LLP. For SCTP, a DDP Stream maps directly to a bi-directional
pair of SCTP streams with the same Stream IDs. Note that DDP has pair of SCTP streams with the same Stream IDs. Note that DDP has
no ordering guarantees between DDP Streams. no ordering guarantees between DDP Streams.
DDP Stream Session - A single pairing of DDP Endpoints over a DDP DDP Stream Session - A single pairing of DDP Endpoints over a DDP
Stream that lasts from a Initiation message through the Stream that lasts from a Initiation message through the
Termination message(s). Termination message(s).
DDP Stream Session Control Message - DDP Stream Session Control DDP Stream Session Control Message - DDP Stream Session Control
messages are used to control the association of the DDP Endpoint messages are used to control the association of the DDP Endpoint
with the DDP Stream. with the DDP Stream.
Direct Data Placement Protocol (DDP) - A wire protocol that supports Direct Data Placement Protocol (DDP) - A wire protocol that supports
Direct Data Placement by associating explicit memory buffer Direct Data Placement by associating explicit memory buffer
placement information with the LLP payload units. placement information with the LLP payload units.
Lower Layer Protocol (LLP) - In the context of DDP, the protocol
layer beneath RDMA that provides a reliable transport service.
The SCTP DDP adaption is one of the initially defined LLPs for
DDP.
Protection Domain - A common local interface convention to control Protection Domain - A common local interface convention to control
which Steering Tags (STags) are valid with which DDP Endpoints. which Steering Tags (STags) are valid with which DDP Endpoints.
Under this convention both the Steering Tag and DDP Endpoint are Under this convention both the Steering Tag and DDP Endpoint are
created within the context of a Protection Domain, and the created within the context of a Protection Domain, and the
Steering Tag may only be enabled for DDP Endpoints created under Steering Tag may only be enabled for DDP Endpoints created under
the same Protection Domain. the same Protection Domain.
RDMA - Remote Direct Memory Access. RDMA - Remote Direct Memory Access.
RNIC - RDMA Network Interface Card. RNIC - RDMA Network Interface Card.
SCTP association - A protocol relationship between two SCTP SCTP association - A protocol relationship between two SCTP
endpoints. An SCTP association supports multiple SCTP streams. endpoints. An SCTP association supports multiple SCTP streams.
SCTP Data Chunk - An SCTP Chunk used to convey Payload Data. There SCTP Data Chunk - An SCTP Chunk used to convey Payload Data. There
can be multiple Chunks within each SCTP packet. Other Chunks are can be multiple Chunks within each SCTP packet. Other Chunks are
used to control the SCTP Association. used to control the SCTP Association.
SCTP endpoint - The logical sender/receiver of SCTP packets. On a SCTP endpoint - The logical sender/receiver of SCTP packets. On a
multi-homed host, an SCTP endpoint is represented to its peers as multi-homed host, an SCTP endpoint is represented to its peers as
a combination of a SCTP port number and a set of eligible a combination of an SCTP port number and a set of eligible
destination transport addresses to which SCTP packets can be sent. destination transport addresses to which SCTP packets can be sent.
SCTP Stream - A uni-directional logical channel established from one SCTP Stream - A uni-directional logical channel established from one
to another associated SCTP endpoint. There can be multiple SCTP to another associated SCTP endpoint. There can be multiple SCTP
Streams within each SCTP association. An SCTP Stream is used to Streams within each SCTP association. An SCTP Stream is used to
form one direction of a DDP stream. form one direction of a DDP stream.
Transmission Sequence Number (TSN) - A 32-bit sequence number used Transmission Sequence Number (TSN) - A 32-bit sequence number used
internally by SCTP. One TSN is attached to each chunk containing internally by SCTP. One TSN is attached to each chunk containing
user data to permit the receiving SCTP endpoint to acknowledge its user data to permit the receiving SCTP endpoint to acknowledge its
receipt and detect duplicate deliveries. receipt and detect duplicate deliveries.
Upper Layer Protocol (ULP) - In the context of RDMA protocol
specifications, this is the layer using RDMA services. Typically
this is an application or middleware. A primary goal of RDMA
protocols is to enable direct transfer of payload to/from ULP
buffers.
3. Conventions 3. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [RFC2119]. document are to be interpreted as described in RFC2119 [RFC2119].
4. Introduction 4. Introduction
4.1. Motivation 4.1. Motivation
skipping to change at page 9, line 10 skipping to change at page 9, line 10
DDP Stream Session Control Messages are used to establish and DDP Stream Session Control Messages are used to establish and
teardown DDP Stream Sessions, specifically by controlling the teardown DDP Stream Sessions, specifically by controlling the
binding of DDP endpoints with SCTP streams. binding of DDP endpoints with SCTP streams.
Payload Protocol Identifier: Payload Protocol Identifier:
The following value are defined for DDP in this document, The following value are defined for DDP in this document,
but the final values will be assigned by IANA: but the final values will be assigned by IANA:
DDP Segment Chunk - 0x00000010 DDP Segment Chunk - 16
DDP Stream Session Control - 0x00000011 DDP Stream Session Control - 17
5.2.1. DDP Source Sequence Number (DDP-SSN) 5.2.1. DDP Source Sequence Number (DDP-SSN)
All SCTP Payload Data Chunks used by this Adaptation layer include a All SCTP Payload Data Chunks used by this Adaptation layer include a
DDP Source Sequence Number (DDP-SSN). The DDP-SSN tracks the DDP Source Sequence Number (DDP-SSN). The DDP-SSN tracks the
sequence the messages were submitted to the SCTP layer for the SCTP sequence the messages were submitted to the SCTP layer for the SCTP
stream in use. The DDP-SSN MUST have the same value that the SCTP stream in use. The DDP-SSN MUST have the same value that the SCTP
Stream Sequence Number (SSN) would have been assigned had ordered Stream Sequence Number (SSN) would have been assigned had ordered
SCTP Payload Data Chunks been used rather than unordered. SCTP Payload Data Chunks been used rather than unordered.
The rationale for specifying the DDP-SSN is as follows: The rationale for specifying the DDP-SSN is as follows:
The SCTP Stream Sequence Number (SSN) is not suitable for this o The SCTP Stream Sequence Number (SSN) is not suitable for this
purpose, because all messages defined by this document use purpose, because all messages defined by this document use
unordered Payload Data Chunks to ensure prompt delivery from the unordered Payload Data Chunks to ensure prompt delivery from the
receiving SCTP layer. receiving SCTP layer.
The SCTP Transmission Sequence Number (TSN) is not suitable for o The SCTP Transmission Sequence Number (TSN) is not suitable for
determine the original order of Data Chunks within a stream. The determine the original order of Data Chunks within a stream. The
sending SCTP layer is allowed to optimize the transmission sending SCTP layer is allowed to optimize the transmission
sequence of unordered Data Chunks to encourage Chunk Bundling, or sequence of unordered Data Chunks to encourage Chunk Bundling, or
other purposes. other purposes.
5.2.2. DDP Segment Chunk 5.2.2. DDP Segment Chunk
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DDP-SSN | DDP Segment | | DDP-SSN | DDP Segment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
| ... | | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DDP Segments are as defined in [I-D.ietf-rddp-ddp]. The DDP Segment DDP Segments are as defined in [I-D.ietf-rddp-ddp]. The DDP Segment
Chunk serves the same purpose as the MPA Upper Layer PDU (MULPDU) in Chunk serves the same purpose as the [I-D.ietf-rddp-mpa] Upper Layer
that it carries DDP Segments over a reliable protocol with added PDU (MULPDU) in that it carries DDP Segments over a reliable protocol
sequencing information. with added sequencing information.
5.2.3. DDP Stream Session Control 5.2.3. DDP Stream Session Control
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DDP-SSN | Function Code | | DDP-SSN | Function Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Private Data (Dependent on Function Code) | | Private Data (Dependent on Function Code) |
| ... | | ... |
skipping to change at page 10, line 25 skipping to change at page 10, line 25
The following function code values are defined for DDP in The following function code values are defined for DDP in
this document: this document:
DDP Stream Session Initiate - 0x001 DDP Stream Session Initiate - 0x001
DDP Stream Session Accept - 0x002 DDP Stream Session Accept - 0x002
DDP Stream Session Reject - 0x003 DDP Stream Session Reject - 0x003
DDP Stream Session Terminate - 0x004 DDP Stream Session Terminate - 0x004
ULP supplied Private Data MUST be included for DDP Stream Session ULP supplied Private Data MUST be included for DDP Stream Session
Initiate DDP Stream Session Accept and DDP Stream Session Reject Initiate, DDP Stream Session Accept and DDP Stream Session Reject
messages. However, the ULP supplied Private DATA MAY be of zero messages. However, the ULP supplied Private DATA MAY be of zero
length. length.
Private Data length MUST NOT exceed 512 bytes in any message. Private Data length MUST NOT exceed 512 bytes in any message.
Private Data MUST NOT be included in the DDP Stream Session Terminate Private Data MUST NOT be included in the DDP Stream Session Terminate
message. message.
Received DDP Stream Session Control messages SHOULD be reported to Received DDP Stream Session Control messages SHOULD be reported to
the ULP. If reported, any supplied Private Data MUST be available the ULP. If reported, any supplied Private Data MUST be available
skipping to change at page 11, line 16 skipping to change at page 11, line 16
A DDP Endpoint is the logical sender/receiver of DDP Segments. A DDP A DDP Endpoint is the logical sender/receiver of DDP Segments. A DDP
Stream connects two DDP Endpoints using a matched pair of SCTP Stream connects two DDP Endpoints using a matched pair of SCTP
Streams having the same SCTP Stream Identifiers. Streams having the same SCTP Stream Identifiers.
A DDP Stream Session defines the sequence of Data Chunks exchanged A DDP Stream Session defines the sequence of Data Chunks exchanged
between two DDP Endpoints over a DDP Stream that has a distinct between two DDP Endpoints over a DDP Stream that has a distinct
beginning and end as defined in the following section. Data Chunks beginning and end as defined in the following section. Data Chunks
from one DDP Stream Session are never carried over to the next from one DDP Stream Session are never carried over to the next
session. Each Data Chunk unambiguously belongs to exactly one session. Each Data Chunk unambiguously belongs to exactly one
session. The DDP Source Sequence Numbers assigned to the Data Chunks session. The DDP-SSNs assigned to the Data Chunks for a session MUST
for a session MUST NOT have any gaps. NOT have any gaps.
The local interface MAY dynamically associate a DDP Endpoint with the The local interface MAY dynamically associate a DDP Endpoint with the
DDP Stream based upon the initial exchanges of a DDP Session, and DDP Stream based upon the initial exchanges of a DDP Session, and
dynamically terminate that association at the session's end. dynamically terminate that association at the session's end.
Alternately a specialized local interface could simply statically map Alternately a specialized local interface could simply statically map
DDP Endpoints to DDP Streams. DDP Endpoints to DDP Streams.
Conventionally local interfaces for RDMA have deferred the selection Conventionally local interfaces for RDMA have deferred the selection
of the DDP Endpoint until after the ULP decides to accept an RDMA of the DDP Endpoint until after the ULP decides to accept an RDMA
connection request. But that is a local interface choice and not a connection request. But that is a local interface choice and not a
wire protocol requirement. wire protocol requirement.
A DDP Stream is associated with at most one Protection Domain during A DDP Stream is associated with at most one Protection Domain during
a single DDP Stream Session. On the passive side the association is a single DDP Stream Session. On the passive side the association is
typically deferred until the DDP Stream Session Accept message. typically deferred until the DDP Stream Session Accept message.
6.1. Sequencing 6.1. Sequencing
The DDP Source Sequence Number(DDP-SSN) is reset to zero at the The DDP-SSN is reset to zero at the beginning of each DDP Stream
beginning of each DDP Stream Session. Session.
The normative sequence for considering Payload Data Chunks within a The normative sequence for considering Payload Data Chunks within a
given session is based upon each Data Chunk's DDP-SSN. When given session is based upon each Data Chunk's DDP-SSN. When
considered in this normative sequence, all sessions MUST conform to considered in this normative sequence, all sessions MUST conform to
one the patterns defined in this section. one the patterns defined in this section.
If the adaptation layer receives a Payload Data Chunk that conforms If the adaptation layer receives a Payload Data Chunk that conforms
to none of the enumerated legal patterns the DDP Stream Session MUST to none of the enumerated legal patterns the DDP Stream Session MUST
be terminated. be terminated.
skipping to change at page 13, line 28 skipping to change at page 13, line 28
same DDP Stream Session. same DDP Stream Session.
An active side of a DDP Stream Session MUST NOT send a DDP Segment An active side of a DDP Stream Session MUST NOT send a DDP Segment
that might be received before the DDP Stream Session Initiate that might be received before the DDP Stream Session Initiate
message. message.
This MAY be determined by SCTP acking of the Data Chunk used to carry This MAY be determined by SCTP acking of the Data Chunk used to carry
the DDP Stream Session Initiate message, or by receipt of a the DDP Stream Session Initiate message, or by receipt of a
responsive DDP Stream Session Control message. responsive DDP Stream Session Control message.
A DDP Stream MUST NOT be re-used for another DDP Stream Session while A DDP Stream Identifier MUST NOT be re-used for another DDP Stream
any Data Chunk from a prior session might be outstanding. Session while any Data Chunk from a prior session might be
outstanding.
7. SCTP Endpoints 7. SCTP Endpoints
7.1. Adaptation Layer Indication Restriction 7.1. Adaptation Layer Indication Restriction
The local interface MUST allow the ULP to specify an SCTP endpoint to The local interface MUST allow the ULP to specify an SCTP endpoint to
use a specific Adaptation Indication. It MAY require the ULP to do use a specific Adaptation Indication. It MAY require the ULP to do
so. so.
Once an endpoint decides on its acceptable Adaptation Indication(s), Once an endpoint decides on its acceptable Adaptation Indication(s),
skipping to change at page 14, line 39 skipping to change at page 14, line 39
coherency challenges. Therefore the local interface MAY restrict coherency challenges. Therefore the local interface MAY restrict
DDP-enabled SCTP endpoints to a single IP address, or to a set of IP DDP-enabled SCTP endpoints to a single IP address, or to a set of IP
addresses that are all assigned to the same input device ("RNIC"). addresses that are all assigned to the same input device ("RNIC").
The default binding of a DDP enabled SCTP endpoint SHOULD NOT cover The default binding of a DDP enabled SCTP endpoint SHOULD NOT cover
more than a single IP address unless doing so results in no more than a single IP address unless doing so results in no
additional bus traffic or duplication of memory registration additional bus traffic or duplication of memory registration
resources. This will frequently result in a different default than resources. This will frequently result in a different default than
for SCTP endpoints that are not DDP enabled. for SCTP endpoints that are not DDP enabled.
Applications MAY choose to avoid using out-of-band methods for
communicating the set of IP addresses used by an SCTP endpoint when
there is potential confusion as to the intended scope of the SCTP
endpoint. For example, assuming the SCTP endpoint consists of all IP
Addresses advertised by DNS may work for a general purpose SCTP
endpoint but not a DDP enabled one.
Even when multi-homing is supported, ULPs are cautioned that they Even when multi-homing is supported, ULPs are cautioned that they
SHOULD NOT use ULP control of the source address in attempt to load- SHOULD NOT use ULP control of the source address in attempt to load-
balance a stream across multiple paths. A receiving DDP/SCTP balance a stream across multiple paths. A receiving DDP/SCTP
implementation that chooses to support multi-homing SHOULD optimize implementation that chooses to support multi-homing SHOULD optimize
its design on the assumption that multi-homing will be used for its design on the assumption that multi-homing will be used for
network fault tolerance, and not to load-balance between paths. This network fault tolerance, and not to load-balance between paths. This
is consistent with recommended SCTP practices. is consistent with recommended SCTP practices.
8. Number of Streams 8. Number of Streams
skipping to change at page 20, line 8 skipping to change at page 20, line 8
the underlying SCTP stream has been terminated. the underlying SCTP stream has been terminated.
Other RDMAP defined Terminate Messages MUST be generated as specified Other RDMAP defined Terminate Messages MUST be generated as specified
when a DDP Stream is terminated. Note that with the SCTP mapping, when a DDP Stream is terminated. Note that with the SCTP mapping,
termination of a DDP Stream does not mandate termination of the termination of a DDP Stream does not mandate termination of the
Association. Association.
12. IANA considerations 12. IANA considerations
This document defines a new SCTP Adaptation Layer Indication This document defines a new SCTP Adaptation Layer Indication
codepoint. [I-D.ietf-tsvwg-addip-sctp] creates the registry from codepoint. [I-D.ietf-tsvwg-addip-sctp] will create the registry from
which this codepoint is to be assigned. Any unallocated codepoint which this codepoint is to be assigned. Any unallocated codepoint
may be assigned. The value of one is suggested. may be assigned. The value of one is suggested.
This document also defines two new SCTP Payload Protocol Identifier This document also defines two new SCTP Payload Protocol Identifier
(PPIDs). RFC2960 [RFC2960] creates the registry from which these (PPIDs). RFC2960 [RFC2960] creates the registry from which these
identifiers are to be assigned. The Payload Protocol Identifiers identifiers are to be assigned. The Payload Protocol Identifiers
allocated need to be unique, but have no other requirements. The allocated need to be unique, but have no other requirements. The
following values are suggested: following values are suggested:
DDP Segment Chunk - 0x00000010 DDP Segment Chunk - 16
DDP Stream Session Control - 0x00000011 DDP Stream Session Control - 17
13. Security Considerations 13. Security Considerations
Any direct placement of memory could pose a significant security risk Any direct placement of memory could pose a significant security risk
if adequate local controls are not provided. These threats are if adequate local controls are not provided. These threats are
addressed in the appropriate DDP [I-D.ietf-rddp-ddp], RDMA [I-D.ietf- addressed in the appropriate DDP [I-D.ietf-rddp-ddp], RDMA
rddp-rdmap] or Security [I-D.ietf-rddp-security] drafts. This [I-D.ietf-rddp-rdmap] or Security [I-D.ietf-rddp-security] drafts.
document does not add any additional security risks over those found This document does not add any additional security risks over those
in RFC2960 [RFC2960]. found in RFC2960 [RFC2960].
The IPsec requirements for RDDP are based on the version of IPsec
specified in RFC 2401 [RFC2401] and related RFCs, as profiled by RFC
3723 [RFC3723], despite the existence of a newer version of IPsec
specified in RFC 4301 [RFC4301] and related RFCs. One of the
important early applications of the RDDP protocols is their use with
iSCSI iSER [I-D.ietf-ips-iser]; RDDP's IPsec requirements follow
those of IPsec in order to facilitate that usage by allowing a common
profile of IPsec to be used with iSCSI and the RDDP protocols. In
the future, RFC 3723 may be updated to the newer version of IPsec,
the IPsec security requirements of any such update should apply
uniformly to iSCSI and the RDDP protocols.
14. Contributors 14. Contributors
Many thanks to our contributors who have spent many hours reading and Many thanks to our contributors who have spent many hours reading and
reviewing keeping us straight: Sukanta Ganguly an independent reviewing keeping us straight: Sukanta Ganguly an independent
consultant, Vivek Kashyap of IBM, Jim Pinkerton of Microsoft, and consultant, Vivek Kashyap of IBM, Jim Pinkerton of Microsoft, and
Hemal Shah of Broadcom. Thanks for all your hard work. Hemal Shah of Broadcom. Thanks for all your hard work.
15. Acknowledgments 15. Acknowledgments
The authors would like to thank the following people that have The authors would like to thank the following people that have
provided comments and input: Stephen Bailey, David Black, Douglas provided comments and input: Stephen Bailey, David Black, Douglas
Otis, Allyn Romanow and Jim Williams. Otis, Allyn Romanow and Jim Williams.
16. Normative references 16. References
16.1. Normative references
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C., [RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C.,
Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M.,
Zhang, L., and V. Paxson, "Stream Control Transmission Zhang, L., and V. Paxson, "Stream Control Transmission
Protocol", RFC 2960, October 2000. Protocol", RFC 2960, October 2000.
[RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and F.
Travostino, "Securing Block Storage Protocols over IP",
RFC 3723, April 2004.
[I-D.ietf-rddp-ddp] [I-D.ietf-rddp-ddp]
Shah, H., "Direct Data Placement over Reliable Shah, H., "Direct Data Placement over Reliable
Transports", draft-ietf-rddp-ddp-05 (work in progress), Transports", draft-ietf-rddp-ddp-06 (work in progress),
July 2005. June 2006.
[I-D.ietf-rddp-rdmap] [I-D.ietf-rddp-rdmap]
Recio, R., "A Remote Direct Memory Access Protocol Recio, R., "A Remote Direct Memory Access Protocol
Specification", draft-ietf-rddp-rdmap-06 (work in Specification", draft-ietf-rddp-rdmap-07 (work in
progress), June 2006. progress), September 2006.
[I-D.ietf-rddp-security] [I-D.ietf-rddp-security]
Pinkerton, J., "DDP/RDMAP Security", Pinkerton, J., "DDP/RDMAP Security",
draft-ietf-rddp-security-10 (work in progress), June 2006. draft-ietf-rddp-security-10 (work in progress), June 2006.
[I-D.ietf-tsvwg-addip-sctp] [I-D.ietf-tsvwg-addip-sctp]
Stewart, R., "Stream Control Transmission Protocol (SCTP) Stewart, R., "Stream Control Transmission Protocol (SCTP)
Dynamic Address Reconfiguration", Dynamic Address Reconfiguration",
draft-ietf-tsvwg-addip-sctp-15 (work in progress), draft-ietf-tsvwg-addip-sctp-15 (work in progress),
June 2006. June 2006.
16.2. Informative references
[I-D.ietf-rddp-mpa]
Culley, P., "Marker PDU Aligned Framing for TCP
Specification", draft-ietf-rddp-mpa-06 (work in progress),
September 2006.
[RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[I-D.ietf-ips-iser]
Ko, M., "iSCSI Extensions for RDMA Specification",
draft-ietf-ips-iser-05 (work in progress), October 2005.
Authors' Addresses Authors' Addresses
Caitlin Bestler Caitlin Bestler
Editor Editor
Broadcom Corporation Broadcom Corporation
16215 Alton Parkway 16215 Alton Parkway
P.O. Box 57013 P.O. Box 57013
Irvine, CA 92619-7013 Irvine, CA 92619-7013
USA USA
skipping to change at page 25, line 5 skipping to change at page 27, line 5
Randall R. Stewart Randall R. Stewart
Editor Editor
Cisco Systems, Inc. Cisco Systems, Inc.
Forest Drive Forest Drive
Columbia, SC 29036 Columbia, SC 29036
USA USA
Phone: +1-815-342-5222 Phone: +1-815-342-5222
Email: rrs@cisco.com Email: rrs@cisco.com
Intellectual Property Statement Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 25, line 29 skipping to change at page 27, line 45
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 28 change blocks. 
51 lines changed or deleted 108 lines changed or added

This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/