libmlx4: Add RAW_ETH to post_send
PATCH 1/1 libmlx4: Add RAW_ETH to post_send
Add RAW_ETH QP to post_send function.
--- fixes/add_raw_eth_to_post_send.patch | 52 ++++++++++++++++++++++++++++++++++ fixes/series | 1 + 2 files changed, 53 insertions(+), 0 deletions(-) create mode 100644 fixes/add_raw_eth_to_post_send.patch
fixes/add_raw_eth_to_post_send.patch new file +52 -0
@@ -0,0 +1,52 @@ +From c31190ddc735cd2a28598846f5b57c9cf8434272 Mon Sep 17 00:00:00 2001 +From: Aleksey Senin <alekseys-smomgflXvOZWk0Htik3J/[email protected]> +Date: Sun, 19 Dec 2010 11:11:23 +0200 +Subject: [PATCH] Add RAW_ETH case to post_send + +Add controling checksum calculation when using RAW QP type. + +Signed-off-by: Aleksey Senin <alekseys-smomgflXvOZWk0Htik3J/[email protected]> +--- + src/qp.c | 6 ++++++ + src/wqe.h | 1 + + 2 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/src/qp.c b/src/qp.c +index d194ae3..580afff 100644 +--- a/src/qp.c ++++ b/src/qp.c +@@ -231,6 +231,8 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr, + htonl(MLX4_WQE_CTRL_CQ_UPDATE) : 0) | + (wr->send_flags & IBV_SEND_SOLICITED ? + htonl(MLX4_WQE_CTRL_SOLICIT) : 0) | ++ (wr->send_flags & IBV_SEND_IP_CSUM ? ++ htonl(MLX4_WQE_CTRL_IP_CSUM) : 0) | + qp->sq_signal_bits; + + if (wr->opcode == IBV_WR_SEND_WITH_IMM || +@@ -283,6 +285,10 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr, + size += sizeof (struct mlx4_wqe_datagram_seg) / 16; + break; + ++ case IBV_QPT_RAW_ETH: ++ /* For raw eth, the MLX4_WQE_CTRL_SOLICIT flag is used ++ * to indicate that no icrc should be calculated */ ++ ctrl->xrcrb_flags |= htonl(MLX4_WQE_CTRL_SOLICIT); + default: + break; + } +diff --git a/src/wqe.h b/src/wqe.h +index 6f7f309..007b617 100644 +--- a/src/wqe.h ++++ b/src/wqe.h +@@ -41,6 +41,7 @@ enum { + MLX4_WQE_CTRL_FENCE = 1 << 6, + MLX4_WQE_CTRL_CQ_UPDATE = 3 << 2, + MLX4_WQE_CTRL_SOLICIT = 1 << 1, ++ MLX4_WQE_CTRL_IP_CSUM = 3 << 4, + }; + + enum { +-- +1.6.4.2 +
fixes/series +1 -0
@@ -8,3 +8,4 @@ rocee_add_support.patch add_supported_devices.patch post_rcv_end_of_sg.patch fix_inline_size.patch +add_raw_eth_to_post_send.patch
Signature · 6 lines
1.6.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 7 lines · Alekseys Senin
Hello, Vladimir.
Please, apply two patches - libmlx4 and libibverbs - that I sent today. They add additional enums to userspace to the programs, that need to use
RAW_ETHQP type.
Hi Aleksey,
You should send these patches to Roland before applying them to OFED. Use the following git trees for libibverbs and libmlx4:
git://git.kernel.org/pub/scm/libs/infiniband/libibverbs.gitgit://git.kernel.org/pub/scm/libs/infiniband/libmlx4.git
Note: when you send patches to OFED you should CC "OpenFabrics EWG <[email protected]>" mailing list instead of "linux-rdma".
Regards,
Vladimir
Quoted 68 lines
Quoted 68 lines
Add
RAW_ETHQP topost_sendfunction.--- fixes/add_raw_eth_to_post_send.patch | 52 ++++++++++++++++++++++++++++++++++ fixes/series | 1 + 2 files changed, 53 insertions(+), 0 deletions(-)create mode 100644
fixes/add_raw_eth_to_post_send.patchfixes/add_raw_eth_to_post_send.patch new file +52
-0@@ -0,0 +1,52 @@ +From c31190ddc735cd2a28598846f5b57c9cf8434272 Mon Sep 17 00:00:00 2001 +From: Aleksey Senin<alekseys-smomgflXvOZWk0Htik3J/[email protected]> +Date: Sun, 19 Dec 2010 11:11:23 +0200 +Subject: [PATCH] Add RAW_ETH case to post_send + +Add controling checksum calculation when using RAW QP type. + +Signed-off-by: Aleksey Senin<alekseys-smomgflXvOZWk0Htik3J/[email protected]> +--- + src/qp.c | 6 ++++++ + src/wqe.h | 1 + + 2 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/src/qp.c b/src/qp.c +index d194ae3..580afff 100644 +--- a/src/qp.c ++++ b/src/qp.c +@@ -231,6 +231,8 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr, + htonl(MLX4_WQE_CTRL_CQ_UPDATE) : 0) | + (wr->send_flags& IBV_SEND_SOLICITED ? + htonl(MLX4_WQE_CTRL_SOLICIT) : 0) | ++ (wr->send_flags& IBV_SEND_IP_CSUM ? ++ htonl(MLX4_WQE_CTRL_IP_CSUM) : 0) | + qp->sq_signal_bits; + + if (wr->opcode == IBV_WR_SEND_WITH_IMM || +@@ -283,6 +285,10 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr, + size += sizeof (struct mlx4_wqe_datagram_seg) / 16; + break; + ++ case IBV_QPT_RAW_ETH: ++ /* For raw eth, the MLX4_WQE_CTRL_SOLICIT flag is used ++ * to indicate that no icrc should be calculated */ ++ ctrl->xrcrb_flags |= htonl(MLX4_WQE_CTRL_SOLICIT); + default: + break; + } +diff --git a/src/wqe.h b/src/wqe.h +index 6f7f309..007b617 100644 +--- a/src/wqe.h ++++ b/src/wqe.h +@@ -41,6 +41,7 @@ enum { + MLX4_WQE_CTRL_FENCE = 1<< 6, + MLX4_WQE_CTRL_CQ_UPDATE = 3<< 2, + MLX4_WQE_CTRL_SOLICIT = 1<< 1, ++ MLX4_WQE_CTRL_IP_CSUM = 3<< 4, + }; + + enum { +-- +1.6.4.2 +fixes/series +0
-0
Quoted 12 lines
fixes/series rocee_add_support.patch · line 11
Quoted 8 lines
index 83516ec..2d04b25 100644
fixes/series +1
-0@@ -8,3 +8,4 @@ rocee_add_support.patch add_supported_devices.patch post_rcv_end_of_sg.patch fix_inline_size.patch +add_raw_eth_to_post_send.patch
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 14 lines · Vladimir Sokolovsky
Quoted 7 lines · Alekseys Senin
Hello, Vladimir.
Please, apply two patches - libmlx4 and libibverbs - that I sent today. They add additional enums to userspace to the programs, that need to use
RAW_ETHQP type.Hi Aleksey,
You should send these patches to Roland before applying them to OFED. Use the following git trees for libibverbs and libmlx4:
Quoted 7 lines
git://git.kernel.org/pub/scm/libs/infiniband/libibverbs.gitgit://git.kernel.org/pub/scm/libs/infiniband/libmlx4.gitNote: when you send patches to OFED you should CC "OpenFabrics EWG <[email protected]>" mailing list instead of "linux-rdma".
Regards,
Vladimir
O, sorry.
It's my fault. It should be applied to OFED too and I'll resend them to this list too.
Actually these patches were generated agains OFED tree and applying them will create new files under 'fixes' directory. I'll generate another set for Roland tree two.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html