Commit e0605d91 authored by Eli Cohen's avatar Eli Cohen Committed by Roland Dreier

IB/core: Add IP checksum offload support

Add a device capability to show when it can handle checksum offload.
Also add a send flag for inserting checksums and a csum_ok field to
the completion record.
Signed-off-by: default avatarEli Cohen <eli@mellanox.co.il>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 7143740d
...@@ -95,7 +95,15 @@ enum ib_device_cap_flags { ...@@ -95,7 +95,15 @@ enum ib_device_cap_flags {
IB_DEVICE_N_NOTIFY_CQ = (1<<14), IB_DEVICE_N_NOTIFY_CQ = (1<<14),
IB_DEVICE_ZERO_STAG = (1<<15), IB_DEVICE_ZERO_STAG = (1<<15),
IB_DEVICE_SEND_W_INV = (1<<16), IB_DEVICE_SEND_W_INV = (1<<16),
IB_DEVICE_MEM_WINDOW = (1<<17) IB_DEVICE_MEM_WINDOW = (1<<17),
/*
* Devices should set IB_DEVICE_UD_IP_SUM if they support
* insertion of UDP and TCP checksum on outgoing UD IPoIB
* messages and can verify the validity of checksum for
* incoming messages. Setting this flag implies that the
* IPoIB driver may set NETIF_F_IP_CSUM for datagram mode.
*/
IB_DEVICE_UD_IP_CSUM = (1<<18),
}; };
enum ib_atomic_cap { enum ib_atomic_cap {
...@@ -431,6 +439,7 @@ struct ib_wc { ...@@ -431,6 +439,7 @@ struct ib_wc {
u8 sl; u8 sl;
u8 dlid_path_bits; u8 dlid_path_bits;
u8 port_num; /* valid only for DR SMPs on switches */ u8 port_num; /* valid only for DR SMPs on switches */
int csum_ok;
}; };
enum ib_cq_notify_flags { enum ib_cq_notify_flags {
...@@ -615,7 +624,8 @@ enum ib_send_flags { ...@@ -615,7 +624,8 @@ enum ib_send_flags {
IB_SEND_FENCE = 1, IB_SEND_FENCE = 1,
IB_SEND_SIGNALED = (1<<1), IB_SEND_SIGNALED = (1<<1),
IB_SEND_SOLICITED = (1<<2), IB_SEND_SOLICITED = (1<<2),
IB_SEND_INLINE = (1<<3) IB_SEND_INLINE = (1<<3),
IB_SEND_IP_CSUM = (1<<4)
}; };
struct ib_sge { struct ib_sge {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment