From: Asaf Penso <asafp@nvidia.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net
Subject: [dpdk-dev] [PATCH v3] doc: add new tables for rte flow items and actions support
Date: Sun, 7 Feb 2021 10:46:17 +0000 [thread overview]
Message-ID: <1612694777-31505-1-git-send-email-asafp@nvidia.com> (raw)
In-Reply-To: <1612690076-25155-1-git-send-email-asafp@nvidia.com>
In http://doc.dpdk.org/guides/nics/overview.html, table 1.1 lists all
supported features.
It has a single line for "Flow API" that refers to rte_flow support.
rte_flow is composed of many items and actions that are not expressed in
this single line.
The following new tables are suggested:
1. rte_flow items
2. rte_flow actions
3. rte_flow shared actions
Also, since each table needs a new section in the pmd ini
file that might not be relevant for all pmds, the print
error message for missing section in conf.py is removed.
Signed-off-by: Asaf Penso <asafp@nvidia.com>
---
v3:
remove the shared action table
update the note for "S" notation
v2:
update commit message
add .txt to .gitignore
---
.gitignore | 2 +
doc/guides/conf.py | 18 +++---
doc/guides/nics/features/default.ini | 104 +++++++++++++++++++++++++++++++++++
doc/guides/nics/features/mlx4.ini | 15 +++++
doc/guides/nics/features/mlx5.ini | 66 ++++++++++++++++++++++
doc/guides/nics/overview.rst | 10 ++++
6 files changed, 208 insertions(+), 7 deletions(-)
diff --git a/.gitignore b/.gitignore
index f73d93c..b19c071 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,8 @@
# ignore generated documentation tables
doc/guides/nics/overview_table.txt
+doc/guides/nics/rte_flow_actions_table.txt
+doc/guides/nics/rte_flow_items_table.txt
doc/guides/cryptodevs/overview_feature_table.txt
doc/guides/cryptodevs/overview_cipher_table.txt
doc/guides/cryptodevs/overview_auth_table.txt
diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index aceeb62..4eea58f 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -217,14 +217,8 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl
# Initialize the dict with the default.ini value.
ini_data[ini_filename] = valid_features.copy()
- # Check for a valid ini section.
+ # Check for a section.
if not config.has_section(section):
- print("{}: File '{}' has no [{}] secton".format(warning,
- ini_filename,
- section),
- file=stderr)
- if stop_on_error:
- raise Exception('Warning is treated as a failure')
continue
# Check for valid features names.
@@ -380,6 +374,16 @@ def setup(app):
'Features',
'Features availability in networking drivers',
'Feature')
+ table_file = dirname(__file__) + '/nics/rte_flow_items_table.txt'
+ generate_overview_table(table_file, 2,
+ 'rte_flow items',
+ 'rte_flow items features availability in networking drivers',
+ 'Items')
+ table_file = dirname(__file__) + '/nics/rte_flow_actions_table.txt'
+ generate_overview_table(table_file, 3,
+ 'rte_flow actions',
+ 'rte_flow actions features availability in networking drivers',
+ 'Actions')
table_file = dirname(__file__) + '/cryptodevs/overview_feature_table.txt'
generate_overview_table(table_file, 1,
'Features',
diff --git a/doc/guides/nics/features/default.ini b/doc/guides/nics/features/default.ini
index 8046bd1..968aee3 100644
--- a/doc/guides/nics/features/default.ini
+++ b/doc/guides/nics/features/default.ini
@@ -77,3 +77,107 @@ x86-64 =
Usage doc =
Design doc =
Perf doc =
+
+[rte_flow items]
+any =
+raw =
+eth =
+vlan =
+ipv4 =
+ipv6 =
+icmp =
+udp =
+tcp =
+sctp =
+vxlan =
+e_tag =
+nvgre =
+mpls =
+gre =
+gre_key =
+fuzzy =
+gtp =
+gtpc =
+gtpu =
+esp =
+geneve =
+vxlan-gpe =
+arp_eth_ipv4 =
+ipv6_ext =
+ipv6_frag_ext =
+icmp6 =
+icmp6_nd_ns =
+icmp6_nd_na =
+icmp6_nd_opt =
+icmp6_nd_opt_sla_eth =
+icmp6_nd_opt_tla_eth =
+meta =
+gtp_psc =
+pppoes =
+pppoed =
+pppoe_proto_id =
+nsh =
+igmp =
+ah =
+higig2 =
+l2tpv3oip =
+pfcp =
+ecpri =
+
+[rte_flow actions]
+end =
+void =
+passthru =
+jump =
+mark =
+flag =
+queue =
+drop =
+count =
+rss =
+pf =
+vf =
+phy_port =
+port_id =
+meter =
+security =
+of_set_mpls_ttl =
+of_dec_mpls_ttl =
+of_set_nw_ttl =
+of_dec_nw_ttl =
+of_copy_ttl_out =
+of_copy_ttl_in =
+of_pop_vlan =
+of_push_vlan =
+of_set_vlan_vid =
+of_set_vlan_pcp =
+of_pop_mpls =
+of_push_mpls =
+vxlan_encap =
+vxlan_decap =
+nvgre_encap =
+nvgre_decap =
+raw_encap =
+raw_decap =
+set_ipv4_src =
+set_ipv4_dst =
+set_ipv6_src =
+set_ipv6_dst =
+set_tp_src =
+set_tp_dst =
+mac_swap =
+dec_ttl =
+set_ttl =
+set_mac_src =
+set_mac_dst =
+inc_tcp_seq =
+dec_tcp_seq =
+inc_tcp_ack =
+dec_tcp_ack =
+set_tag =
+set_meta =
+set_ipv4_dscp =
+set_ipv6_dscp =
+age =
+sample =
+modify_field =
diff --git a/doc/guides/nics/features/mlx4.ini b/doc/guides/nics/features/mlx4.ini
index ebb9ccf..5e352f5 100644
--- a/doc/guides/nics/features/mlx4.ini
+++ b/doc/guides/nics/features/mlx4.ini
@@ -38,3 +38,18 @@ Power8 = Y
x86-32 = Y
x86-64 = Y
Usage doc = Y
+
+[rte_flow items]
+eth = Y
+vlan = Y
+ipv4 = Y
+ipv6 = Y
+udp = Y
+tcp = Y
+
+[rte_flow actions]
+end = Y
+void = Y
+queue = Y
+drop = Y
+rss = Y
diff --git a/doc/guides/nics/features/mlx5.ini b/doc/guides/nics/features/mlx5.ini
index ddd131d..fcf934b 100644
--- a/doc/guides/nics/features/mlx5.ini
+++ b/doc/guides/nics/features/mlx5.ini
@@ -52,3 +52,69 @@ Power8 = Y
x86-32 = Y
x86-64 = Y
Usage doc = Y
+
+[rte_flow items]
+eth = Y
+vlan = Y
+ipv4 = Y
+ipv6 = Y
+icmp = Y
+udp = Y
+tcp = Y
+vxlan = Y
+nvgre = Y
+mpls = Y
+gre = Y
+gre_key = Y
+gtp = Y
+geneve = Y
+vxlan-gpe = Y
+ipv6_ext = Y
+ipv6_frag_ext = Y
+icmp6 = Y
+meta = Y
+gtp_psc = Y
+ecpri = Y
+
+[rte_flow actions]
+end = Y
+void = Y
+jump = Y
+mark = Y
+flag = Y
+queue = Y
+drop = Y
+count = Y
+rss = S
+port_id = Y
+meter = Y
+of_pop_vlan = Y
+of_push_vlan = Y
+of_set_vlan_vid = Y
+of_set_vlan_pcp = Y
+vxlan_encap = Y
+vxlan_decap = Y
+raw_encap = Y
+raw_decap = Y
+set_ipv4_src = Y
+set_ipv4_dst = Y
+set_ipv6_src = Y
+set_ipv6_dst = Y
+set_tp_src = Y
+set_tp_dst = Y
+dec_ttl = Y
+set_ttl = Y
+set_mac_src = Y
+set_mac_dst = Y
+inc_tcp_seq = Y
+dec_tcp_seq = Y
+inc_tcp_ack = Y
+dec_tcp_ack = Y
+set_tag = Y
+set_meta = Y
+set_ipv4_dscp = Y
+set_ipv6_dscp = Y
+age = S
+sample = Y
+modify_field = Y
+
diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst
index 20cd52b..86b5718 100644
--- a/doc/guides/nics/overview.rst
+++ b/doc/guides/nics/overview.rst
@@ -28,7 +28,17 @@ More details about features can be found in :doc:`features`.
.. include:: overview_table.txt
+.. include:: rte_flow_items_table.txt
+
+.. include:: rte_flow_actions_table.txt
+
.. Note::
Features marked with "P" are partially supported. Refer to the appropriate
NIC guide in the following sections for details.
+
+.. Note::
+
+ rte_flow action that is marked with "S" means it is supported as shared
+ and non-shared action.
+
--
1.8.3.1
next prev parent reply other threads:[~2021-02-07 10:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-04 17:05 [dpdk-dev] [PATCH] " Asaf Penso
2021-02-04 22:09 ` Thomas Monjalon
2021-02-07 8:46 ` Asaf Penso
2021-02-07 9:44 ` Thomas Monjalon
2021-02-07 9:27 ` [dpdk-dev] [PATCH v2] " Asaf Penso
2021-02-07 10:46 ` Asaf Penso [this message]
2021-02-07 10:52 ` [dpdk-dev] [PATCH v4] " Asaf Penso
2021-02-08 12:58 ` Thomas Monjalon
2021-02-16 13:13 ` Ferruh Yigit
2021-02-17 5:57 ` Asaf Penso
2021-02-17 10:37 ` Ferruh Yigit
2021-02-17 10:49 ` Thomas Monjalon
2021-02-18 16:12 ` Asaf Penso
2021-02-18 17:58 ` Ajit Khaparde
2021-02-18 18:45 ` Ferruh Yigit
2021-04-06 15:07 ` Thomas Monjalon
2021-04-07 22:33 ` [dpdk-dev] [PATCH v5 0/3] rte_flow doc matrix Thomas Monjalon
2021-04-07 22:33 ` [dpdk-dev] [PATCH v5 1/3] doc: rename sfc features file Thomas Monjalon
2021-04-07 22:33 ` [dpdk-dev] [PATCH v5 2/3] doc: add flow API features tables Thomas Monjalon
2021-04-08 8:45 ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2021-05-14 10:42 ` [dpdk-dev] " Ferruh Yigit
2021-05-14 11:52 ` Thomas Monjalon
2021-04-07 22:33 ` [dpdk-dev] [PATCH v5 3/3] devtools: check flow API doc tables Thomas Monjalon
2021-05-13 18:40 ` Ferruh Yigit
2021-05-18 12:46 ` Thomas Monjalon
2021-05-14 10:51 ` Ferruh Yigit
2021-05-18 10:33 ` Thomas Monjalon
2021-05-18 13:28 ` [dpdk-dev] [PATCH v6 0/3] rte_flow doc matrix Thomas Monjalon
2021-05-18 13:28 ` [dpdk-dev] [PATCH v6 1/3] doc: rename sfc features file Thomas Monjalon
2021-05-18 13:28 ` [dpdk-dev] [PATCH v6 2/3] doc: add flow API features tables Thomas Monjalon
2021-05-18 13:28 ` [dpdk-dev] [PATCH v6 3/3] devtools: check flow API doc tables Thomas Monjalon
2021-05-18 16:54 ` [dpdk-dev] [PATCH v6 0/3] rte_flow doc matrix Thomas Monjalon
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=1612694777-31505-1-git-send-email-asafp@nvidia.com \
--to=asafp@nvidia.com \
--cc=dev@dpdk.org \
--cc=thomas@monjalon.net \
/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).