All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH rdma-next 0/5] Add flow tag support to flow specification
@ 2017-01-18 12:59 Leon Romanovsky
       [not found] ` <20170118125951.3469-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2017-01-18 12:59 UTC (permalink / raw)
  To: dledford-H+wXaHxf7aLQT0dZR+AlfA
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Rony Efraim

Hi Doug,

The flow tag feature allows an application to request to add an action
to tag all the packets that matches this rule.

The tag is a number that will came as a metadata with every packet in
the CQE.

The tag rule == 0 is chosen as the default tag and application can use
it in order to avoid the need to classify the packets that came with a
tag while continuing to benefit from this tag mechanism.

struct definition:

struct ib_uverbs_flow_spec_action_tag {
     union {
          struct ib_uverbs_flow_spec_hdr hdr;
          struct {
              __u32 type;
              __u16 size;
              __u16 reserved;
          };
     };
     __be32                   tag_id;
     __u32                    reserved1;
};

struct ib_uverbs_flow_spec {
     union {
          union {
              struct ib_uverbs_flow_spec_hdr hdr;
              struct {
                   __u32 type;
                   __u16 size;
                   __u16 reserved;
              };
          };
          struct ib_uverbs_flow_spec_eth     eth;
          struct ib_uverbs_flow_spec_ipv4    ipv4;
          struct ib_uverbs_flow_spec_tcp_udp tcp_udp;
          struct ib_uverbs_flow_spec_ipv6    ipv6;
          struct ib_uverbs_flow_spec_action_tag flow_tag;
     };
};

Where:

* type, size, reserved fields are identical to the rest of the
* protocols,
   and are used to identify the spec.
* flow_tag is a spec of type 'action'
* the ib_uverbs_flow_spec_hdr is identical to the rest of the specs.
* tag_id - is the value of the stream defined by the specs.

Thanks,
	Moses

CC: Rony Efraim <ronye-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
----

Doug,
I used this opportunity and fixed parse_flow_attr(..) return values.
Adjusting this fix to this series minimizes chances of possible merge
conflicts between different series.

This patchset was generated against commit
f502d834950a ("net/mlx5: Activate support for 4K UARs") and it applies
cleanly on k.o/for-4.11 branch.

Available in the "topic/flow-tag" topic branch of this git repo:
git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git

Or for browsing:
https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=topic/flow-tag

Leon Romanovsky (1):
  IB/mlx5: Replace ENOTSUPP usage with EOPNOTSUPP

Maor Gottlieb (1):
  net/mlx5: Consolidate flow rules regardless their flow tag

Moses Reuben (3):
  IB/core: Introduce flow tag specification
  IB/uverbs: Add support for flow tag
  IB/mlx5: Add flow tag support

 drivers/infiniband/core/uverbs.h                  |  1 +
 drivers/infiniband/core/uverbs_cmd.c              | 35 +++++++++++++++++++--
 drivers/infiniband/hw/mlx5/main.c                 | 38 +++++++++++++++++------
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 12 +++++--
 include/rdma/ib_verbs.h                           |  9 ++++++
 include/uapi/rdma/ib_user_verbs.h                 | 13 ++++++++
 6 files changed, 95 insertions(+), 13 deletions(-)

--
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-02-14 15:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-18 12:59 [PATCH rdma-next 0/5] Add flow tag support to flow specification Leon Romanovsky
     [not found] ` <20170118125951.3469-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-18 12:59   ` [PATCH rdma-next 1/5] net/mlx5: Consolidate flow rules regardless their flow tag Leon Romanovsky
2017-01-18 12:59   ` [PATCH rdma-next 2/5] IB/core: Introduce flow tag specification Leon Romanovsky
2017-01-18 12:59   ` [PATCH rdma-next 3/5] IB/uverbs: Add support for flow tag Leon Romanovsky
2017-01-18 12:59   ` [PATCH rdma-next 4/5] IB/mlx5: Add flow tag support Leon Romanovsky
2017-01-18 12:59   ` [PATCH rdma-next 5/5] IB/mlx5: Replace ENOTSUPP usage with EOPNOTSUPP Leon Romanovsky
2017-02-14 15:27   ` [PATCH rdma-next 0/5] Add flow tag support to flow specification Doug Ledford

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.