]> git.baikalelectronics.ru Git - kernel.git/commit
iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections
authorHariprasad Shenai <hariprasad@chelsio.com>
Fri, 6 Jun 2014 16:10:43 +0000 (21:40 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jun 2014 05:49:54 +0000 (22:49 -0700)
commit9ae95e0f4e291fddd0c436a7d7c53604ae1374fb
tree5dc54ac594b4e1a50c90f38518d16b18269030a4
parent658f7419deab00a7f5f5864cbb2d7e8a1c7f7601
iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections

Select the appropriate hw mtu index and initial sequence number to optimize
hw memory performance.

Add new cxgb4_best_aligned_mtu() which allows callers to provide enough
information to be used to [possibly] select an MTU which will result in the
TCP Data Segment Size (AKA Maximum Segment Size) to be an aligned value.

If an RTR message exhange is required, then align the ISS to 8B - 1 + 4, so
that after the SYN the send seqno will align on a 4B boundary. The RTR
message exchange will leave the send seqno aligned on an 8B boundary.
If an RTR is not required, then align the ISS to 8B - 1.  The goal is
to have the send seqno be 8B aligned when we send the first FPDU.

Based on original work by Casey Leedom <leeedom@chelsio.com> and
Steve Wise <swise@opengridcomputing.com>

Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/hw/cxgb4/cm.c
drivers/infiniband/hw/cxgb4/t4fw_ri_api.h
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h