rfc-6580

IANA Registries for the Remote Direct Data Placement (RDDP) Protocols

M. Ko, D. Black
date2012-04 streamIETF areatsv wgstorm statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc6580 doi10.17487/RFC6580 errataview
The original RFCs that specified the Remote Direct Data Placement (RDDP) protocol suite did not create IANA registries for RDDP error codes, operation codes, and function codes. Extensions to the RDDP protocols now require these registries to be created. This memo creates the RDDP registries, populates them with values defined in the original RDDP RFCs, and provides guidance to IANA for future assignment of code points within these registries. [STANDARDS-TRACK]

Extracted elements (18)

design-rationale §3

Allocation requests may include a suggested numerical value reflecting choices made by early implementations before the final RFC was published. IANA may honor such suggestions if the value is still free, avoiding unnecessary churn for deployed implementations.

registry

design-rationale §3.4

Operation code 0xF and SCTP function code 0xFFFF are reserved for experimental use per RFC 3692, allowing experimentation without consuming the Standards Action code point space. These reservations are explicitly allocated by RFC 6580 rather than left unassigned.

registry

design-rationale §3.2

The DDP Errors registry reserves Error Type 0x3/'ALL' for use by the Lower Layer Protocol (RFC 5041). This entry is the only DDP registry entry allowed to use 'ALL' for Error Code, making it a uniquely scoped reservation rather than an Error-Type-wide catch-all.

design-rationale §1

The original RDDP RFCs (RFC 5040, 5041, 5043, 5044) did not create IANA registries. Protocol extensions (RFC 6581 and RMP-EXT) require registry-based code point allocation, motivating the retroactive creation of these five registries.

registry

interoperability-note §3

All five RDDP registries use a Standards Action allocation policy, meaning only IESG-approved Standards-Track RFCs may add new code points. This prevents unofficial or vendor-specific extensions from fragmenting the protocol's code point space.

registry

normative-requirement §3.1 MUST NOT

For RDMAP and DDP registries, if an Error Type is registered without an Error Code, no entry with an Error Code for the same Error Type must be added. This preserves the 'ALL' semantics—when Layer+Error Type alone identify the error, Error Code is unconstrained.

registry

normative-requirement §3.1 REQUIRED

New assignments in any RDDP registry require an IESG-approved Standards-Track specification defining the semantics and interoperability requirements of the proposed new value and the fields to be recorded in the registry.

registry

registry §3.2

Creates the 'DDP Errors' IANA registry for Direct Data Placement protocol errors. The 16-bit error field uses a 4-bit Layer (always 0x1), 4-bit Error Type, and 8-bit Error Code. Allocation policy is Standards Action per RFC 5226.

registry

registry §3.3

Creates the 'MPA Errors' IANA registry for Marker PDU Aligned Framing errors. The 16-bit error field uses a 4-bit Layer (always 0x2), 4-bit Error Type, and 8-bit Error Code; every entry must have a numeric Error Code and Error Code Name. Allocation policy is Standards Action.

registry

registry §3.1

Creates the 'RDMAP Errors' IANA registry for Remote Direct Memory Access Protocol errors. The 16-bit error field is divided into a 4-bit Layer (always 0x0), 4-bit Error Type, and 8-bit Error Code. Allocation policy is Standards Action per RFC 5226.

registry

registry §3.4

Creates the 'RDMAP Message Operation Codes' IANA registry for 4-bit RDMAP operation codes. Initial values include RDMA Write (0x0) through Terminate (0x7), with 0xF reserved for experimental use. Allocation policy is Standards Action.

registry

registry §3.5

Creates the 'SCTP Function Codes for DDP Session Control' IANA registry for 16-bit SCTP function codes used with DDP stream session control. Initial values include Session Initiate (0x0001) through Session Terminate (0x0004), with 0xFFFF reserved for experimental use. Allocation policy is Standards Action.

registry, sctp

security-consideration §2

This document raises no new security issues because it only creates and populates IANA registries. However, experimental code points (RDMAP OpCode 0xF and SCTP Function Code 0xFFFF) may have harmful side effects and must not be deployed across networks the experimenter does not entirely control; guidance in RFC 3692 must be followed.

security, registry

wire-format §3.2

DDP error codes are 16-bit fields subdivided into: a 4-bit Layer (fixed at 0x1), a 4-bit Error Type, and an 8-bit Error Code. Unlike RDMAP errors, a numeric Error Code is required for all DDP registry entries except the Lower Layer Protocol reservation entry, which uses 'ALL'.

wire-format §3.3

MPA error codes are 16-bit fields subdivided into: a 4-bit Layer (fixed at 0x2), a 4-bit Error Type, and an 8-bit Error Code. Every MPA registry entry must contain a numeric Error Code and Error Code Name; 'ALL' is not used in this registry.

wire-format §3.1

RDMAP error codes are 16-bit fields subdivided into three subfields: a 4-bit Layer (fixed at 0x0 for RDMAP), a 4-bit Error Type, and an 8-bit Error Code. The Error Code field is optional; when absent, any 8-bit value is valid and 'ALL' is recorded in the registry.

wire-format §3.4

RDMAP Message Operation Codes are 4-bit values. The eight defined operations range from 0x0 (RDMA Write) to 0x7 (Terminate); value 0xF is reserved for experimental use, and all other values are unassigned.

wire-format §3.5

SCTP Function Codes for DDP Stream Session Control are 16-bit values. Four session control codes (0x0001–0x0004) are defined; 0xFFFF is reserved for experimental use, and all other values are unassigned.

sctp