Differences between revisions 2 and 3
Revision 2 as of 2008-04-04 13:16:55
Size: 4288
Editor: ikdesk11
Comment:
Revision 3 as of 2008-04-12 17:51:30
Size: 4302
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
RDMAP operates over ["iWARP-DDP"]. RDMAP provides read and write services directly to applications and enables data to be transferred directly into Upper Layer Protocol (ULP) Buffers without intermediate data copies. It also enables a kernel bypass implementation. RDMAP operates over [[iWARP-DDP]]. RDMAP provides read and write services directly to applications and enables data to be transferred directly into Upper Layer Protocol (ULP) Buffers without intermediate data copies. It also enables a kernel bypass implementation.
Line 8: Line 8:
This protocol has been defined in [http://www.ietf.org/rfc/rfc5040.txt RFC 5040] in October 2007. This protocol has been defined in [[http://www.ietf.org/rfc/rfc5040.txt|RFC 5040]] in October 2007.
Line 12: Line 12:
 * ["iWARP-DDP"]: This is the underlying protocol over which RDMAP is designed to operate.  * [[iWARP-DDP]]: This is the underlying protocol over which RDMAP is designed to operate.
Line 87: Line 87:
 * attachment:SampleCaptures/iwarp_send_recv.tar.gz
 * attachment:SampleCaptures/iwarp_rdma.tar.gz
 * [[attachment:SampleCaptures/iwarp_send_recv.tar.gz]]
 * [[attachment:SampleCaptures/iwarp_rdma.tar.gz]]
Line 91: Line 91:
A complete list of iWARP-RDMAP display filter fields can be found in the [http://www.wireshark.org/docs/dfref/i/iWARP-RDMAP.html display filter reference] A complete list of iWARP-RDMAP display filter fields can be found in the [[http://www.wireshark.org/docs/dfref/i/iWARP-RDMAP.html|display filter reference]]
Line 98: Line 98:
You cannot directly filter iWARP-RDMAP protocols while capturing. However, if you know the ["TCP"] port used (see above), you can filter on that one. You cannot directly filter iWARP-RDMAP protocols while capturing. However, if you know the [[TCP]] port used (see above), you can filter on that one.
Line 102: Line 102:
 * [http://www.ietf.org/rfc/rfc5040.txt RFC 5040] ''A Remote Direct Memory Access Protocol Specification''  * [[http://www.ietf.org/rfc/rfc5040.txt|RFC 5040]] ''A Remote Direct Memory Access Protocol Specification''

Remote Direct Memory Access Protocol (iWARP-RDMAP)

RDMAP operates over iWARP-DDP. RDMAP provides read and write services directly to applications and enables data to be transferred directly into Upper Layer Protocol (ULP) Buffers without intermediate data copies. It also enables a kernel bypass implementation.

History

This protocol has been defined in RFC 5040 in October 2007.

Protocol dependencies

  • iWARP-DDP: This is the underlying protocol over which RDMAP is designed to operate.

Example traffic

{{{Frame 42 (1110 bytes on wire, 1110 bytes captured)

  • Arrival Time: Mar 27, 2008 17:31:45.022540000 [Time delta from previous captured frame: 0.000040000 seconds] [Time delta from previous displayed frame: 0.000040000 seconds] [Time since reference or first frame: 0.001439000 seconds] Frame Number: 42 Frame Length: 1110 bytes Capture Length: 1110 bytes [Frame is marked: False] [Protocols in frame: eth:ip:tcp:iwarp_mpa:iwarp_ddp_rdmap:data] [Coloring Rule Name: TCP] [Coloring Rule String: tcp]

Ethernet II, Src: Ibm_8d:3c:cd (00:11:25:8d:3c:cd), Dst: Ibm_8d:3b:73 (00:11:25:8d:3b:73)

  • Destination: Ibm_8d:3b:73 (00:11:25:8d:3b:73) Source: Ibm_8d:3c:cd (00:11:25:8d:3c:cd) Type: IP (0x0800)

Internet Protocol, Src: 10.0.0.19 (10.0.0.19), Dst: 10.0.0.18 (10.0.0.18)

  • Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) Total Length: 1096 Identification: 0x3077 (12407) Flags: 0x04 (Don't Fragment) Fragment offset: 0 Time to live: 64 Protocol: TCP (0x06) Header checksum: 0xf214 [correct] Source: 10.0.0.19 (10.0.0.19) Destination: 10.0.0.18 (10.0.0.18)

Transmission Control Protocol, Src Port: 34185 (34185), Dst Port: 4210 (4210), Seq: 68, Ack: 21001, Len: 1044

  • Source port: 34185 (34185) Destination port: 4210 (4210) Sequence number: 68 (relative sequence number) [Next sequence number: 1112 (relative sequence number)] Acknowledgement number: 21001 (relative ack number) Header length: 32 bytes Flags: 0x18 (PSH, ACK) Window size: 50048 (scaled) Checksum: 0xf4cd [correct] Options: (12 bytes) [SEQ/ACK analysis]

iWARP Marker Protocol data unit Aligned framing iWARP Direct Data Placement and Remote Direct Memory Access Protocol

  • DDP header RDMAP header
    • RDMAP control field
      • 01.. .... = Version: 1
      • .00 .... = Reserved: 0x00
      • ... 0010 = OpCode: Read Response (0x02)

Data (1024 bytes)

0000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ 0010 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ <snip> ... <\snip> 03d0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ 03e0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ 03f0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................

  • Data: 020202020202020202020202020202020202020202020202...

}}}

Wireshark

The iWARP-RDMAP dissector is fully functional. Since the headers of iWARP-RDMAP and iWARP-DDP overlap and since iWARP-DDP is in practice never seen without RDMAP on top, we have built a combined dissector that implements both protocols together as iwarp_ddp_rdmap. We discussed this with Guy Harris at the latest Sharkfest.

Preference Settings

No preference settings.

Example capture file

Display Filter

A complete list of iWARP-RDMAP display filter fields can be found in the display filter reference

  • Show only the iWARP-RDMAP based traffic:

     iwarp_ddp_rdmap 

Capture Filter

You cannot directly filter iWARP-RDMAP protocols while capturing. However, if you know the TCP port used (see above), you can filter on that one.

  • RFC 5040 A Remote Direct Memory Access Protocol Specification

Discussion

iWARP-RDMAP (last edited 2008-04-12 17:51:30 by localhost)