netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 mlx5-next 07/18] net/mlx5: Expose new packet reformat capabilities
Date: Mon, 16 Jul 2018 11:22:54 +0300	[thread overview]
Message-ID: <20180716082305.11744-8-leon@kernel.org> (raw)
In-Reply-To: <20180716082305.11744-1-leon@kernel.org>

From: Mark Bloch <markb@mellanox.com>

Expose new abilities when creating a packet reformat context.

The new types which can be created are:
MLX5_REFORMAT_TYPE_L2_TO_L2_TUNNEL: Ability to create generic encap
opertion to be done by the HW.

MLX5_REFORMAT_TYPE_L3_TUNNEL_TO_L2: Ability to create generic decap
opertion where the inner packet doesn't contain L2.

MLX5_REFORMAT_TYPE_L2_TO_L3_TUNNEL: Ability to create generic encap
opertion to be done by the HW. The L2 of the original packet
is dropped.

Signed-off-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
 include/linux/mlx5/mlx5_ifc.h | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h
index 059ec97e7b32..c71d711d4893 100644
--- a/include/linux/mlx5/mlx5_ifc.h
+++ b/include/linux/mlx5/mlx5_ifc.h
@@ -341,8 +341,13 @@ struct mlx5_ifc_flow_table_prop_layout_bits {
 	u8         reserved_at_9[0x1];
 	u8         pop_vlan[0x1];
 	u8         push_vlan[0x1];
-	u8         reserved_at_c[0x14];
-
+	u8	   reserved_at_c[0x3];
+	u8	   reformat_and_vlan_action[0x1];
+	u8	   reserved_at_10[0x2];
+	u8	   reformat_l3_tunnel_to_l2[0x1];
+	u8	   reformat_l2_to_l3_tunnel[0x1];
+	u8	   reformat_and_modify_action[0x1];
+	u8         reserved_at_15[0xb];
 	u8         reserved_at_20[0x2];
 	u8         log_max_ft_size[0x6];
 	u8         log_max_modify_header_context[0x8];
@@ -551,7 +556,13 @@ struct mlx5_ifc_flow_table_nic_cap_bits {
 	u8         nic_rx_multi_path_tirs[0x1];
 	u8         nic_rx_multi_path_tirs_fts[0x1];
 	u8         allow_sniffer_and_nic_rx_shared_tir[0x1];
-	u8         reserved_at_3[0x1fd];
+	u8	   reserved_at_3[0x1d];
+	u8	   encap_general_header[0x1];
+	u8	   reserved_at_21[0xa];
+	u8	   log_max_packet_reformat_context[0x5];
+	u8	   reserved_at_30[0x6];
+	u8	   max_encap_header_size[0xa];
+	u8	   reserved_at_40[0x1c0];

 	struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive;

@@ -4839,6 +4850,9 @@ struct mlx5_ifc_alloc_packet_reformat_context_out_bits {
 enum {
 	MLX5_REFORMAT_TYPE_L2_TO_VXLAN = 0x0,
 	MLX5_REFORMAT_TYPE_L2_TO_NVGRE = 0x1,
+	MLX5_REFORMAT_TYPE_L2_TO_L2_TUNNEL = 0x2,
+	MLX5_REFORMAT_TYPE_L3_TUNNEL_TO_L2 = 0x3,
+	MLX5_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x4,
 };

 struct mlx5_ifc_alloc_packet_reformat_context_in_bits {

  parent reply	other threads:[~2018-07-16  8:49 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 ` Leon Romanovsky [this message]
2018-07-16 21:33   ` [RFC PATCH mlx5-next 07/18] net/mlx5: Expose new packet reformat capabilities 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 ` [RFC PATCH rdma-next 14/18] RDMA/uverbs: Add generic function to fill in flow action object Leon Romanovsky
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-8-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).