All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Rony Efraim <ronye-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: [PATCH rdma-next 0/5] Add flow tag support to flow specification
Date: Wed, 18 Jan 2017 14:59:46 +0200	[thread overview]
Message-ID: <20170118125951.3469-1-leon@kernel.org> (raw)

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

             reply	other threads:[~2017-01-18 12:59 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-18 12:59 Leon Romanovsky [this message]
     [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

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=20170118125951.3469-1-leon@kernel.org \
    --to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ronye-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    /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 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.