[ofa-general] [PATCH - 9] ib core - add lso support
Eli Cohen
eli at mellanox.co.il
Wed Aug 15 11:20:40 PDT 2007
Add LSO supprt at the core
This patch provides support at the core level for devices that
support TCP large send offload fragmentation.
Signed-off-by: Eli Cohen <eli at mellnaox.co.il>
---
Index: linux-2.6.23-rc1/include/rdma/ib_verbs.h
===================================================================
--- linux-2.6.23-rc1.orig/include/rdma/ib_verbs.h 2007-08-15 20:50:28.000000000 +0300
+++ linux-2.6.23-rc1/include/rdma/ib_verbs.h 2007-08-15 20:50:35.000000000 +0300
@@ -94,7 +94,8 @@ enum ib_device_cap_flags {
IB_DEVICE_ZERO_STAG = (1<<15),
IB_DEVICE_SEND_W_INV = (1<<16),
IB_DEVICE_MEM_WINDOW = (1<<17),
- IB_DEVICE_IP_CSUM = (1<<18)
+ IB_DEVICE_IP_CSUM = (1<<18),
+ IB_DEVICE_TCP_GSO = (1<<19)
};
enum ib_atomic_cap {
@@ -402,6 +403,7 @@ enum ib_wc_opcode {
IB_WC_COMP_SWAP,
IB_WC_FETCH_ADD,
IB_WC_BIND_MW,
+ IB_WC_LSO,
/*
* Set value of IB_WC_RECV so consumers can test if a completion is a
* receive by testing (opcode & IB_WC_RECV).
@@ -606,6 +608,7 @@ enum ib_wr_opcode {
IB_WR_RDMA_WRITE,
IB_WR_RDMA_WRITE_WITH_IMM,
IB_WR_SEND,
+ IB_WR_LSO,
IB_WR_SEND_WITH_IMM,
IB_WR_RDMA_READ,
IB_WR_ATOMIC_CMP_AND_SWP,
@@ -618,7 +621,8 @@ enum ib_send_flags {
IB_SEND_SOLICITED = (1<<2),
IB_SEND_INLINE = (1<<3),
IB_SEND_IP_CSUM = (1<<4),
- IB_SEND_UDP_TCP_CSUM = (1<<5)
+ IB_SEND_UDP_TCP_CSUM = (1<<5),
+ IB_SEND_UDP_LSO = (1<<6)
};
struct ib_sge {
@@ -648,6 +652,9 @@ struct ib_send_wr {
} atomic;
struct {
struct ib_ah *ah;
+ void *header;
+ int hlen;
+ int mss;
u32 remote_qpn;
u32 remote_qkey;
u16 pkey_index; /* valid for GSI only */
More information about the general
mailing list