RDS/IB: Handle connections using RDS 3.0 wire protocol
authorAndy Grover <andy.grover@oracle.com>
Fri, 17 Jul 2009 13:13:24 +0000 (13:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Jul 2009 15:03:03 +0000 (08:03 -0700)
commit02a6a2592e41d27644d647f3bce23598649961bc
tree7455566e6f3ff13279bb5949f06e398dbb8cff1a
parent9ddbcfa098bae757d3760dd1dbf2847a0bd5a525
RDS/IB: Handle connections using RDS 3.0 wire protocol

The big differences between RDS 3.0 and 3.1 are protocol-level
flow control, and with 3.1 the header is in front of the data. The header
always ends up in the header buffer, and the data goes in the data page.

In 3.0 our "header" is a trailer, and will end up either in the data
page, the header buffer, or split across the two. Since 3.1 is backwards-
compatible with 3.0, we need to continue to support these cases. This
patch does that -- if using RDS 3.0 wire protocol, it will copy the header
from wherever it ended up into the header buffer.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/ib.h
net/rds/ib_cm.c
net/rds/ib_recv.c