On 12/19/2010 04:15 PM, Alekseys Senin wrote:
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_ETH QP 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.git
git://git.kernel.org/pub/scm/libs/infiniband/libmlx4.git

Note: when you send patches to OFED you should CC "OpenFabrics EWG 
<e...@lists.openfabrics.org>" mailing list instead of "linux-rdma".

Regards,
Vladimir

Add RAW_ETH QP to post_send function.

Signed-off-by: Aleksey Senin<aleks...@voltaire.com>
---
  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

diff --git a/fixes/add_raw_eth_to_post_send.patch 
b/fixes/add_raw_eth_to_post_send.patch
new file mode 100644
index 0000000..ce4e873
--- /dev/null
+++ b/fixes/add_raw_eth_to_post_send.patch
@@ -0,0 +1,52 @@
+From c31190ddc735cd2a28598846f5b57c9cf8434272 Mon Sep 17 00:00:00 2001
+From: Aleksey Senin<aleks...@voltaire.com>
+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<aleks...@voltaire.com>
+---
+ 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
+
diff --git a/fixes/series b/fixes/series
index 83516ec..2d04b25 100644
--- a/fixes/series
+++ b/fixes/series
@@ -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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to