From: Leon Romanovsky <leon@kernel.org>
To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>,
RDMA mailing list <linux-rdma@vger.kernel.org>,
Mark Bloch <markb@mellanox.com>,
Saeed Mahameed <saeedm@mellanox.com>,
linux-netdev <netdev@vger.kernel.org>
Subject: [RFC PATCH rdma-next 14/18] RDMA/uverbs: Add generic function to fill in flow action object
Date: Mon, 16 Jul 2018 11:23:01 +0300 [thread overview]
Message-ID: <20180716082305.11744-15-leon@kernel.org> (raw)
In-Reply-To: <20180716082305.11744-1-leon@kernel.org>
From: Mark Bloch <markb@mellanox.com>
Refactor the initialization of a flow action object to a common function.
Signed-off-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
drivers/infiniband/core/uverbs_std_types_flow_action.c | 7 ++-----
drivers/infiniband/hw/mlx5/flow.c | 8 +++-----
include/rdma/uverbs_std_types.h | 12 ++++++++++++
3 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/infiniband/core/uverbs_std_types_flow_action.c b/drivers/infiniband/core/uverbs_std_types_flow_action.c
index adb9209c4710..8beacfdb9f27 100644
--- a/drivers/infiniband/core/uverbs_std_types_flow_action.c
+++ b/drivers/infiniband/core/uverbs_std_types_flow_action.c
@@ -327,11 +327,8 @@ static int UVERBS_HANDLER(UVERBS_METHOD_FLOW_ACTION_ESP_CREATE)(struct ib_device
if (IS_ERR(action))
return PTR_ERR(action);
- atomic_set(&action->usecnt, 0);
- action->device = ib_dev;
- action->type = IB_FLOW_ACTION_ESP;
- action->uobject = uobj;
- uobj->object = action;
+ uverbs_flow_action_fill_action(action, uobj, ib_dev,
+ IB_FLOW_ACTION_ESP);
return 0;
}
diff --git a/drivers/infiniband/hw/mlx5/flow.c b/drivers/infiniband/hw/mlx5/flow.c
index c178979fc38c..aca7dc2dd855 100644
--- a/drivers/infiniband/hw/mlx5/flow.c
+++ b/drivers/infiniband/hw/mlx5/flow.c
@@ -7,6 +7,7 @@
#include <rdma/ib_verbs.h>
#include <rdma/uverbs_types.h>
#include <rdma/uverbs_ioctl.h>
+#include <rdma/uverbs_std_types.h>
#include <rdma/mlx5_user_ioctl_cmds.h>
#include <rdma/mlx5_user_ioctl_verbs.h>
#include <rdma/ib_umem.h>
@@ -273,11 +274,8 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER)(struc
if (IS_ERR(action))
return PTR_ERR(action);
- atomic_set(&action->usecnt, 0);
- action->device = uobj->context->device;
- action->type = IB_FLOW_ACTION_UNSPECIFIED;
- action->uobject = uobj;
- uobj->object = action;
+ uverbs_flow_action_fill_action(action, uobj, uobj->context->device,
+ IB_FLOW_ACTION_UNSPECIFIED);
return 0;
}
diff --git a/include/rdma/uverbs_std_types.h b/include/rdma/uverbs_std_types.h
index 076f085d2dcf..3686da497cf6 100644
--- a/include/rdma/uverbs_std_types.h
+++ b/include/rdma/uverbs_std_types.h
@@ -125,5 +125,17 @@ static inline struct ib_uobject *__uobj_alloc(const struct uverbs_obj_type *type
#define uobj_alloc(_type, _ufile) __uobj_alloc(uobj_get_type(_type), _ufile)
+static inline void uverbs_flow_action_fill_action(struct ib_flow_action *action,
+ struct ib_uobject *uobj,
+ struct ib_device *ib_dev,
+ enum ib_flow_action_type type)
+{
+ atomic_set(&action->usecnt, 0);
+ action->device = ib_dev;
+ action->type = type;
+ action->uobject = uobj;
+ uobj->object = action;
+}
+
#endif
next prev parent reply other threads:[~2018-07-16 8:50 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-16 8:22 [RFC PATCH rdma-next 00/18] Flow actions to mutate packets Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH mlx5-next 01/18] net/mlx5: Add proper NIC TX steering flow tables support Leon Romanovsky
2018-07-16 21:14 ` Or Gerlitz
2018-07-16 8:22 ` [RFC PATCH mlx5-next 02/18] net/mlx5: Export modify header alloc/dealloc functions Leon Romanovsky
2018-07-16 21:27 ` Or Gerlitz
2018-07-16 8:22 ` [RFC PATCH mlx5-next 03/18] net/mlx5: Add support for more namespaces when allocating modify header Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH mlx5-next 04/18] net/mlx5: Break encap/decap into two separated flags Leon Romanovsky
2018-07-16 21:28 ` Or Gerlitz
2018-07-16 8:22 ` [RFC PATCH mlx5-next 05/18] net/mlx5: Move header encap type to IFC header file Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH mlx5-next 06/18] {net, RDMA}/mlx5: Rename encap to reformat packet Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH mlx5-next 07/18] net/mlx5: Expose new packet reformat capabilities Leon Romanovsky
2018-07-16 21:33 ` Or Gerlitz
2018-07-16 21:57 ` Mark Bloch
2018-07-16 8:22 ` [RFC PATCH mlx5-next 08/18] net/mlx5: Allow passing a namespace on packet reformat allocation Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH mlx5-next 09/18] net/mlx5: Export packet reformat alloc/dealloc functions Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH rdma-next 10/18] RDMA/mlx5: Add NIC TX steering support Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH rdma-next 11/18] RDMA/mlx5: Add a new flow action verb, modify header Leon Romanovsky
2018-07-16 8:22 ` [RFC PATCH rdma-next 12/18] RDMA/mlx5: Enable attaching modify header to steering flows Leon Romanovsky
2018-07-16 8:23 ` [RFC PATCH rdma-next 13/18] RDMA/mlx5: Enable decap and packet reformat on flow tables Leon Romanovsky
2018-07-16 21:23 ` Or Gerlitz
2018-07-16 21:46 ` Mark Bloch
2018-07-17 12:47 ` Or Gerlitz
2018-07-17 16:29 ` Mark Bloch
2018-07-16 8:23 ` Leon Romanovsky [this message]
2018-07-16 8:23 ` [RFC PATCH rdma-next 15/18] RDMA/mlx5: Add new flow action verb, packet reformat Leon Romanovsky
2018-07-16 8:23 ` [RFC PATCH rdma-next 16/18] RDMA/mlx5: Enable attaching DECAP action to steering flows Leon Romanovsky
2018-07-16 8:23 ` [RFC PATCH rdma-next 17/18] RDMA/mlx5: Extend packet reformat verbs Leon Romanovsky
2018-07-16 8:23 ` [RFC PATCH rdma-next 18/18] RDMA/mlx5: Enable attaching packet reformat action to steering flows Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180716082305.11744-15-leon@kernel.org \
--to=leon@kernel.org \
--cc=dledford@redhat.com \
--cc=jgg@mellanox.com \
--cc=leonro@mellanox.com \
--cc=linux-rdma@vger.kernel.org \
--cc=markb@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).