All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] doc: add new tables for rte flow items and actions support
@ 2021-02-04 17:05 Asaf Penso
  2021-02-04 22:09 ` Thomas Monjalon
                   ` (3 more replies)
  0 siblings, 4 replies; 32+ messages in thread
From: Asaf Penso @ 2021-02-04 17:05 UTC (permalink / raw)
  To: dev; +Cc: thomas

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

Signed-off-by: Asaf Penso <asafp@nvidia.com>
---
 doc/guides/conf.py                   |  23 +++++---
 doc/guides/nics/features/default.ini | 109 +++++++++++++++++++++++++++++++++++
 doc/guides/nics/features/mlx4.ini    |  15 +++++
 doc/guides/nics/features/mlx5.ini    |  70 ++++++++++++++++++++++
 doc/guides/nics/overview.rst         |  11 ++++
 5 files changed, 221 insertions(+), 7 deletions(-)

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index aceeb62..149507a 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,21 @@ 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__) + '/nics/rte_flow_shared_actions_table.txt'
+    generate_overview_table(table_file, 4,
+                            'rte_flow shared actions',
+                            'rte_flow shared 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 8d89278..3f2b8cf 100644
--- a/doc/guides/nics/features/default.ini
+++ b/doc/guides/nics/features/default.ini
@@ -76,3 +76,112 @@ 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               =
+shared               =
+modify_field         =
+
+[rte_flow shared actions]
+age                  =
+rss                  =
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..962650f 100644
--- a/doc/guides/nics/features/mlx5.ini
+++ b/doc/guides/nics/features/mlx5.ini
@@ -52,3 +52,73 @@ 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                  = Y
+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                  = Y
+sample               = Y
+shared               = S
+modify_field         = Y
+
+[rte_flow shared actions]
+age                  = Y
+rss                  = Y
diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst
index 20cd52b..cded041 100644
--- a/doc/guides/nics/overview.rst
+++ b/doc/guides/nics/overview.rst
@@ -28,7 +28,18 @@ 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
+
+.. include:: rte_flow_shared_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 shared that is marked with "S" means that some or all
+   shared action are supported and more details can be found in table 1.4.
-- 
1.8.3.1


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

end of thread, other threads:[~2021-05-18 16:55 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04 17:05 [dpdk-dev] [PATCH] doc: add new tables for rte flow items and actions support 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   ` [dpdk-dev] [PATCH v3] " Asaf Penso
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

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.