Blob Blame History Raw
From b17bf50a8542a77be1fab3713f7bfc0e57a9787a Mon Sep 17 00:00:00 2001
From: Noa Osherovich <noaos@mellanox.com>
Date: Mon, 5 Dec 2016 14:13:24 +0200
Subject: [PATCH rdma-core 6/6] ibverbs: Add support for scatter FCS ability in
 WQ

Enable the user to create a workqueue object with the scatter FCS
offload.
If this option is set, the FCS (Frame Check Sequence) field of an
incoming raw Ethernet packet will be scattered into host memory along
the packet payload as it appeared on the wire.

Signed-off-by: Noa Osherovich <noaos@mellanox.com>
Reviewed-by: Majd Dibbiny <majd@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
---
 libibverbs/man/ibv_create_wq.3 | 3 ++-
 libibverbs/verbs.h             | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/libibverbs/man/ibv_create_wq.3 b/libibverbs/man/ibv_create_wq.3
index 9a541fea..4a8b83c5 100644
--- a/libibverbs/man/ibv_create_wq.3
+++ b/libibverbs/man/ibv_create_wq.3
@@ -40,7 +40,8 @@ uint32_t                   create_flags    /* Creation flags for this WQ, use en
 enum ibv_wq_flags {
 .in +8
 IBV_WQ_FLAGS_CVLAN_STRIPPING		= 1 << 0, /* CVLAN field will be stripped from incoming packets */
-IBV_WQ_FLAGS_RESERVED			= 1 << 1,
+IBV_WQ_FLAGS_SCATTER_FCS		= 1 << 1, /* FCS field will be scattered to host memory */
+IBV_WQ_FLAGS_RESERVED			= 1 << 2,
 .in -8
 };
 .nf
diff --git a/libibverbs/verbs.h b/libibverbs/verbs.h
index 15e93b3e..3f5e9fe3 100644
--- a/libibverbs/verbs.h
+++ b/libibverbs/verbs.h
@@ -675,7 +675,8 @@ enum ibv_wq_init_attr_mask {
 
 enum ibv_wq_flags {
 	IBV_WQ_FLAGS_CVLAN_STRIPPING		= 1 << 0,
-	IBV_WQ_FLAGS_RESERVED			= 1 << 1,
+	IBV_WQ_FLAGS_SCATTER_FCS		= 1 << 1,
+	IBV_WQ_FLAGS_RESERVED			= 1 << 2,
 };
 
 struct ibv_wq_init_attr {
@@ -685,7 +686,7 @@ struct ibv_wq_init_attr {
 	uint32_t		max_sge;
 	struct	ibv_pd	       *pd;
 	struct	ibv_cq	       *cq;
-	uint32_t		comp_mask;
+	uint32_t		comp_mask; /* Use ibv_wq_init_attr_mask */
 	uint32_t		create_flags; /* use ibv_wq_flags */
 };
 
-- 
2.12.1