Marker PDU Aligned Framing (iWARP-MPA)
MPA is designed to work as an adaptation layer between TCP and the Direct Data Placement Protocol (iWARP-DDP). It preserves the reliable in-order delivery of (TCP), while adding the preservation of higher-level protocol record boundaries that (iWARP-DDP) requires.
This protocol has been defined in RFC 5044 in October 2007.
Frame 4 (93 bytes on wire, 93 bytes captured) Arrival Time: Mar 26, 2008 18:13:03.752331000 [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.000147000 seconds] Frame Number: 4 Frame Length: 93 bytes Capture Length: 93 bytes [Frame is marked: False] [Protocols in frame: eth:ip:tcp:iwarp_mpa] [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: 79 Identification: 0xbc5a (48218) Flags: 0x04 (Don't Fragment) Fragment offset: 0 Time to live: 64 Protocol: TCP (0x06) Header checksum: 0x6a2a [correct] Source: 10.0.0.19 (10.0.0.19) Destination: 10.0.0.18 (10.0.0.18) Transmission Control Protocol, Src Port: 35959 (35959), Dst Port: 4210 (4210), Seq: 1, Ack: 1, Len: 27 Source port: 35959 (35959) Destination port: 4210 (4210) Sequence number: 1 (relative sequence number) [Next sequence number: 28 (relative sequence number)] Acknowledgement number: 1 (relative ack number) Header length: 32 bytes Flags: 0x18 (PSH, ACK) Window size: 5888 (scaled) Checksum: 0xb9af [correct] Options: (12 bytes) iWARP Marker Protocol data unit Aligned framing Request frame header ID Req frame: 4D504120494420526571204672616D65 0... .... = Marker flag: False .0.. .... = CRC flag: False ..0. .... = Connection rejected flag: False ...0 0000 = Reserved: 0x00 Revision: 1 Private data length: 7 bytes Private data: 61637469766500
The iWARP-MPA dissector is fully functional with some assumptions on the traffic which we have found to hold in all the recorded traffic so far. According to the RFC 5044 it does not always have to be like that.
- We expect exactly one FPDU (Framed Protocol Data Unit) per TCP segment.
We cannot track FPDUs that are spread across several TCP segments. The tcp_dissect_pdus() method could be used to combine the payload of several TCP segments into the final FPDU.
- Once the header alignment of iWARP-MPA and TCP is lost, we cannot track the iWARP-MPA communication anymore.
No preference settings.
Example capture file
A complete list of iWARP-MPA display filter fields can be found in the display filter reference
- Show only the PROTO based traffic:
You cannot directly filter iWARP-MPA protocols while capturing. However, if you know the TCP port used (see above), you can filter on that one.
- Capture only the iWARP-MPA traffic over port 4711:
tcp.port == 4711
RFC 5044 Marker PDU Aligned Framing3