[ofa-general] [PATCH 8/16 v4] IB/core: Add support for LSO
Eli Cohen
eli at mellanox.co.il
Wed Jan 30 08:31:24 PST 2008
IB/core: Add support for LSO
LSO allows to pass to the network driver SKBs with data larger
than MTU and let the HW fragment the packet to mss quantities.
Signed-off-by: Eli Cohen <eli at mellanox.co.il>
---
include/rdma/ib_verbs.h | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 030f868..44a5713 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -103,6 +103,7 @@ enum ib_device_cap_flags {
* may set NETIF_F_IP_CSUM.
*/
IB_DEVICE_IP_CSUM = (1<<18),
+ IB_DEVICE_TCP_TSO = (1<<19),
};
enum ib_atomic_cap {
@@ -410,6 +411,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).
@@ -621,7 +623,8 @@ enum ib_wr_opcode {
IB_WR_SEND_WITH_IMM,
IB_WR_RDMA_READ,
IB_WR_ATOMIC_CMP_AND_SWP,
- IB_WR_ATOMIC_FETCH_AND_ADD
+ IB_WR_ATOMIC_FETCH_AND_ADD,
+ IB_WR_LSO
};
enum ib_send_flags {
@@ -629,7 +632,8 @@ enum ib_send_flags {
IB_SEND_SIGNALED = (1<<1),
IB_SEND_SOLICITED = (1<<2),
IB_SEND_INLINE = (1<<3),
- IB_SEND_IP_CSUM = (1<<4)
+ IB_SEND_IP_CSUM = (1<<4),
+ IB_SEND_UDP_LSO = (1<<5)
};
struct ib_sge {
@@ -659,6 +663,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 */
--
1.5.3.8
More information about the general
mailing list