From: Dekel Peled <dekelp@mellanox.com>
To: Andrew Rybchenko <arybchenko@solarflare.com>,
"wenzhuo.lu@intel.com" <wenzhuo.lu@intel.com>,
"jingjing.wu@intel.com" <jingjing.wu@intel.com>,
"bernard.iremonger@intel.com" <bernard.iremonger@intel.com>,
"olivier.matz@6wind.com" <olivier.matz@6wind.com>,
Adrien Mazarguil <adrien.mazarguil@6wind.com>,
Thomas Monjalon <thomas@monjalon.net>,
"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>
Cc: Shahaf Shuler <shahafs@mellanox.com>,
"dev@dpdk.org" <dev@dpdk.org>, Ori Kam <orika@mellanox.com>,
Nikhil Rao <nikhil.rao@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4 1/3] ethdev: support metadata as flow rule criteria
Date: Wed, 17 Oct 2018 07:52:39 +0000 [thread overview]
Message-ID: <VI1PR05MB42246268B01B5E8068782D31B6FF0@VI1PR05MB4224.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <ee76192e-9d0d-d153-cf19-30c601285d35@solarflare.com>
From: Andrew Rybchenko <arybchenko@solarflare.com>
Sent: Wednesday, October 17, 2018 9:03 AM
To: Dekel Peled <dekelp@mellanox.com>; wenzhuo.lu@intel.com; jingjing.wu@intel.com; bernard.iremonger@intel.com; olivier.matz@6wind.com; Adrien Mazarguil <adrien.mazarguil@6wind.com>; Thomas Monjalon <thomas@monjalon.net>; ferruh.yigit@intel.com
Cc: Shahaf Shuler <shahafs@mellanox.com>; dev@dpdk.org; Ori Kam <orika@mellanox.com>; Nikhil Rao <nikhil.rao@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4 1/3] ethdev: support metadata as flow rule criteria
On 10/17/18 8:27 AM, Dekel Peled wrote:
Thanks, PSB.
From: Andrew Rybchenko <arybchenko@solarflare.com><mailto:arybchenko@solarflare.com>
Sent: Tuesday, October 16, 2018 5:12 PM
To: Dekel Peled <dekelp@mellanox.com><mailto:dekelp@mellanox.com>; wenzhuo.lu@intel.com<mailto:wenzhuo.lu@intel.com>; jingjing.wu@intel.com<mailto:jingjing.wu@intel.com>; bernard.iremonger@intel.com<mailto:bernard.iremonger@intel.com>; olivier.matz@6wind.com<mailto:olivier.matz@6wind.com>; Adrien Mazarguil <adrien.mazarguil@6wind.com><mailto:adrien.mazarguil@6wind.com>; Thomas Monjalon <thomas@monjalon.net><mailto:thomas@monjalon.net>; ferruh.yigit@intel.com<mailto:ferruh.yigit@intel.com>
Cc: Shahaf Shuler <shahafs@mellanox.com><mailto:shahafs@mellanox.com>; dev@dpdk.org<mailto:dev@dpdk.org>; Ori Kam <orika@mellanox.com><mailto:orika@mellanox.com>; Nikhil Rao <nikhil.rao@intel.com><mailto:nikhil.rao@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4 1/3] ethdev: support metadata as flow rule criteria
On 10/11/18 1:49 PM, Dekel Peled wrote:
As described in [1], a new rte_flow item is added to support metadata
to use as flow rule match pattern.
The metadata is an opaque item, fully controlled by the application.
The use of metadata is relevant for egress rules only.
It can be set in the flow rule using the RTE_FLOW_ITEM_META.
An additional item 'tx_metadata' is added in union with existing member
'hash' of struct 'rte_mbuf'.
It is used to carry the metadata item.
Currently this union is used only for ingress packets, so using it for
egress metadata will not cause conflicts.
Application should set the packet metadata in the mbuf dedicated field,
and set the PKT_TX_METADATA flag in the mbuf->ol_flags.
The NIC will use the packet metadata as match criteria for relevant
flow rules.
This patch introduces metadata item type for rte_flow RTE_FLOW_ITEM_META,
along with corresponding struct rte_flow_item_meta and ol_flag
PKT_TX_METADATA.
[1] "[RFC,v2] ethdev: support metadata as flow rule criteria"
Signed-off-by: Dekel Peled <dekelp@mellanox.com><mailto:dekelp@mellanox.com>
[...]
diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
index b600b2d..8643722 100644
--- a/doc/guides/prog_guide/rte_flow.rst
+++ b/doc/guides/prog_guide/rte_flow.rst
@@ -1191,6 +1191,27 @@ Normally preceded by any of:
- `Item: ICMP6_ND_NS`_
- `Item: ICMP6_ND_OPT`_
+Item: ``META``
+^^^^^^^^^^^^^^
+
+Matches an application specific 32 bit metadata item.
+
+- Default ``mask`` matches any 32 bit value.
+
+.. _table_rte_flow_item_meta:
+
+.. table:: META
+
+ +----------+----------+---------------------------+
+ | Field | Subfield | Value |
+ +==========+==========+===========================+
+ | ``spec`` | ``data`` | 32 bit metadata value |
+ +----------+--------------------------------------+
+ | ``last`` | ``data`` | upper range value |
+ +----------+----------+---------------------------+
+ | ``mask`` | ``data`` | zeroed to match any value |
+ +----------+----------+---------------------------+
+
Is there a difference between any metadata value and
no metadata value at all?
<DP> Value Zero is considered as no metadata value.
Not sure that I understand.
Is flow rule with no META item equivalent to flow rule with
META item and mask.data==0?
Flow rule with no META item matches packets with and
without metadata.
Flow rule with META item and mask.data==0 could match
packets with metadata provided and any value, or could
be equivalent to no META item at all.
(I'm asking since no IPv4 item and empty IPv4 item are
different things).
<DP> mask is not relevant for this item.
I will rephrase the text:
Item: ``META``
^^^^^^^^^^^^^^
Matches an application specific 32 bit metadata item.
- Default ``mask`` matches the specified metadata value.
.. _table_rte_flow_item_meta:
.. table:: META
+----------+----------+--------------------------------------+
| Field | Subfield | Value | +==========+==========+=======================================+
| ``spec`` | ``data`` | 32 bit metadata value |
+----------+-------------------------------------------------+
| ``last`` | ``data`` | upper range value |
+----------+----------+--------------------------------------+
| ``mask`` | ``data`` | ignored, default mask matches "spec" |
+----------+----------+--------------------------------------+
next prev parent reply other threads:[~2018-10-17 7:52 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-16 13:33 [dpdk-dev] [PATCH " Dekel Peled
2018-09-16 13:33 ` [dpdk-dev] [PATCH 2/3] app/testpmd: " Dekel Peled
2018-09-16 13:33 ` [dpdk-dev] [PATCH 3/3] app/testpmd: add debug command tx_metadata set <port-id> <value> Dekel Peled
2018-09-16 14:37 ` [dpdk-dev] [PATCH v2 0/3] *** SUBJECT HERE *** Dekel Peled
2018-09-27 13:57 ` [dpdk-dev] [PATCH v3 0/3] support meadata as flow rule criteria Dekel Peled
2018-10-03 20:46 ` Thomas Monjalon
2018-10-11 10:49 ` [dpdk-dev] [PATCH v4 " Dekel Peled
2018-10-16 8:42 ` Shahaf Shuler
2018-10-17 12:03 ` [dpdk-dev] [PATCH v5 0/3] support metadata " Dekel Peled
2018-10-21 14:22 ` [dpdk-dev] [PATCH v6 0/2] " Dekel Peled
2018-10-22 16:14 ` Ferruh Yigit
2018-10-21 14:22 ` [dpdk-dev] [PATCH v6 1/2] ethdev: " Dekel Peled
2018-10-21 14:22 ` [dpdk-dev] [PATCH v6 2/2] app/testpmd: support metadata as flow rule item Dekel Peled
2018-10-22 16:13 ` Ferruh Yigit
2018-10-17 12:03 ` [dpdk-dev] [PATCH v5 1/3] ethdev: support metadata as flow rule criteria Dekel Peled
2018-10-17 14:04 ` Andrew Rybchenko
2018-10-17 12:03 ` [dpdk-dev] [PATCH v5 2/3] app/testpmd: support metadata as flow rule item Dekel Peled
2018-10-18 12:26 ` Ori Kam
2018-10-21 13:49 ` Dekel Peled
2018-10-17 12:03 ` [dpdk-dev] [PATCH v5 3/3] app/testpmd: add Tx metadata debug commands Dekel Peled
2018-10-18 7:56 ` Ferruh Yigit
2018-10-18 8:30 ` Dekel Peled
2018-10-11 10:49 ` [dpdk-dev] [PATCH v4 1/3] ethdev: support metadata as flow rule criteria Dekel Peled
2018-10-16 14:11 ` Andrew Rybchenko
2018-10-17 5:27 ` Dekel Peled
2018-10-17 6:02 ` Andrew Rybchenko
2018-10-17 7:52 ` Dekel Peled [this message]
2018-10-11 10:49 ` [dpdk-dev] [PATCH v4 2/3] app/testpmd: " Dekel Peled
2018-10-11 10:49 ` [dpdk-dev] [PATCH v4 3/3] app/testpmd: add Tx metadata debug commands Dekel Peled
2018-09-27 13:57 ` [dpdk-dev] [PATCH v3 1/3] ethdev: support metadata as flow rule criteria Dekel Peled
2018-10-05 13:31 ` Ferruh Yigit
2018-10-05 13:39 ` Andrew Rybchenko
2018-10-05 18:20 ` Yongseok Koh
2018-10-08 15:10 ` Dekel Peled
2018-10-09 14:46 ` Ferruh Yigit
2018-10-09 14:52 ` Andrew Rybchenko
2018-09-27 13:57 ` [dpdk-dev] [PATCH v3 2/3] app/testpmd: " Dekel Peled
2018-09-27 13:57 ` [dpdk-dev] [PATCH v3 3/3] app/testpmd: add debug command Tx metadata set Dekel Peled
2018-10-05 13:27 ` Ferruh Yigit
2018-09-16 14:37 ` [dpdk-dev] [PATCH v2 1/3] ethdev: support metadata as flow rule criteria Dekel Peled
2018-09-18 7:55 ` Xueming(Steven) Li
2018-09-16 14:37 ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: " Dekel Peled
2018-09-18 8:21 ` Xueming(Steven) Li
2018-09-25 11:32 ` Dekel Peled
2018-09-16 14:37 ` [dpdk-dev] [PATCH v2 3/3] app/testpmd: add debug command Tx metadata set Dekel Peled
2018-09-19 5:39 ` Xueming(Steven) Li
2018-10-05 13:19 ` Ferruh Yigit
2018-10-09 14:30 ` Dekel Peled
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=VI1PR05MB42246268B01B5E8068782D31B6FF0@VI1PR05MB4224.eurprd05.prod.outlook.com \
--to=dekelp@mellanox.com \
--cc=adrien.mazarguil@6wind.com \
--cc=arybchenko@solarflare.com \
--cc=bernard.iremonger@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jingjing.wu@intel.com \
--cc=nikhil.rao@intel.com \
--cc=olivier.matz@6wind.com \
--cc=orika@mellanox.com \
--cc=shahafs@mellanox.com \
--cc=thomas@monjalon.net \
--cc=wenzhuo.lu@intel.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).