Version: 1
-Previous: 64fbcf2b695bebce2650dd57345d4940fae778f6
-Head: 9b5d1ff737f078ed7a452e4ac3ef268807d026c8
+Previous: da6ff8126a70a25441019cbfbdc3cc8bd6ad3804
+Head: 7b6ff5c4894f54b221d877adcd709795dffb2fe9
Applied:
- resv-rs-len: d94ac267cd272451281d56292c234b7bed6b1389
- refresh-temp: 9b5d1ff737f078ed7a452e4ac3ef268807d026c8
+ resv-rs-len: 7b6ff5c4894f54b221d877adcd709795dffb2fe9
Unapplied:
af-ib-conn: 70cdbcec6986d1fcc8146a73cf2d8b6a537e71f5
addrtype: fffb812c9cbe707f830d1e7e713feb3ae3e2e8ec
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-10-20 09:19:22 -0700
-rsocket: Reserve bits in data transfer message
+rsocket: Reserve bits in rsocket message
rsockets includes the length of a data transfer in the
immediate data. Currently 29 bits are reserved for the
-length, but the maximum transfer is currently capped
-at 64K. For future expansion, limit the length field
+length, but the maximum transfer is capped at 64K.
+For future expansion, limit the length field
to 17 bits and reserve the other 12.
The interpretation of the 17 bits is modified as follows.
-The lower 16 bits indicate a length. If the upper bit is
-0, then the lower 16 bits indicate a transfer size in bytes.
-If the upper bit is 1, the the total transfer size is
-calculated as (size carried in bits 0-15 + 1) * 64 KB.
-
-This is backwards compatible with the current implementation,
-allows for transfers up to 4 GB, and provides us some
-additional bits for future use.
+The lower 16 bits indicate a length, with the upper bit
+indicating a scaling factor. If the upper bit is
+0, the scaling factor is 1. The lower 16 bits indicate the
+transfer size in bytes. If the upper bit is 1, then a
+scaling factor of 64K is applied. The total transfer size is
+calculated as (value carried in bits 0-15 + 1) * 64 KB.
+
+This is backwards compatible with the current implementation.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>