]> www.infradead.org Git - users/jedix/linux-maple.git/commit
IB/ipoib: CSUM support in connected mode
authorYuval Shaia <yuval.shaia@oracle.com>
Tue, 16 Jun 2015 07:32:36 +0000 (00:32 -0700)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Wed, 8 Jul 2015 01:11:03 +0000 (18:11 -0700)
commit0910c99713095265f30d7e348578cab3ab24a927
tree4be0dca361391151f848894c743b65752bb232ab
parentad2c4579f64d686f256c5a48fe60a921bcab6fc2
IB/ipoib: CSUM support in connected mode

This enhancement suggest the usage of IB CRC instead of CSUM in IPoIB CM.
IPoIB CM uses RC (Reliable Connection) which guarantees the corruption free
delivery of the packet.

InfiniBand uses 32b CRC which provides stronger data integrity protection
compare to 16b IP Checksum. So, there is no added value that IP/TCP Checksum
provides in the IB world.

The proposal is to tell network stack that IPoIB-CM supports IP Checksum
offload. This enables the kernel to save the time of checksum calculation
of IPoIB CM packets. Network sends the IP packet without adding the IP
Checksum to the header. On the receive side, IPoIB driver again tells the
network stack that IP Checksum is good for the incoming packets and network
stack avoids the IP Checksum calculations.

During connection establishment the driver determine if peer supports
IB CRC as checksum. This is done so driver will be able to calculate
checksum before transmiting the packet in case the peer does not support
this feature.

Orabug: 20559068

Tested-Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Reviewed-by: Mukesh Kacker <mukesh.kacker@oracle.com>
Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_cm.c
drivers/infiniband/ulp/ipoib/ipoib_main.c