[ofa-general] [PATCH 9 of 17] ib_core: add LSO support

Eli Cohen eli at mellanox.co.il
Tue Sep 11 08:54:37 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: ofa_1_3_dev_kernel/include/rdma/ib_verbs.h
===================================================================
--- ofa_1_3_dev_kernel.orig/include/rdma/ib_verbs.h	2007-09-11 21:15:25.000000000 +0300
+++ ofa_1_3_dev_kernel/include/rdma/ib_verbs.h	2007-09-11 21:15:27.000000000 +0300
@@ -96,7 +96,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 {
@@ -404,6 +405,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).
@@ -608,6 +610,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,
@@ -620,7 +623,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 {
@@ -650,6 +654,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