From: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
To: Thomas Monjalon <thomas@monjalon.net>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>,
Asaf Penso <asafp@nvidia.com>,
Ajit Khaparde <ajit.khaparde@broadcom.com>,
Somnath Kotur <somnath.kotur@broadcom.com>,
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,
Hemant Agrawal <hemant.agrawal@nxp.com>,
Sachin Saxena <sachin.saxena@oss.nxp.com>,
Jeff Guo <jia.guo@intel.com>, Haiyue Wang <haiyue.wang@intel.com>,
John Daley <johndale@cisco.com>,
Hyong Youb Kim <hyonkim@cisco.com>, Gaetan Rivet <grive@u256.net>,
Ziyang Xuan <xuanziyang2@huawei.com>,
Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>,
Guoyang Zhou <zhouguoyang@huawei.com>,
"Min Hu (Connor)" <humin29@huawei.com>,
Yisen Zhuang <yisen.zhuang@huawei.com>,
Lijun Ou <oulijun@huawei.com>,
Beilei Xing <beilei.xing@intel.com>,
Jingjing Wu <jingjing.wu@intel.com>,
Qiming Yang <qiming.yang@intel.com>,
Qi Zhang <qi.z.zhang@intel.com>, Rosen Xu <rosen.xu@intel.com>,
Matan Azrad <matan@nvidia.com>,
Shahaf Shuler <shahafs@nvidia.com>,
Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
Liron Himi <lironh@marvell.com>,
Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
Rasesh Mody <rmody@marvell.com>,
Devendra Singh Rawat <dsinghrawat@marvell.com>,
Igor Russkikh <irusskikh@marvell.com>,
Keith Wiles <keith.wiles@intel.com>,
Jiawen Wu <jiawenwu@trustnetic.com>,
Jian Wang <jianwang@trustnetic.com>
Subject: Re: [dpdk-dev] [EXT] [PATCH v5 2/3] doc: add flow API features tables
Date: Thu, 8 Apr 2021 08:45:32 +0000 [thread overview]
Message-ID: <BYAPR18MB29659DFBCB155C6985E6DF82AC749@BYAPR18MB2965.namprd18.prod.outlook.com> (raw)
In-Reply-To: <20210407223320.2952469-3-thomas@monjalon.net>
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, April 8, 2021 4:03 AM
> To: dev@dpdk.org
> Cc: ferruh.yigit@intel.com; andrew.rybchenko@oktetlabs.ru; Asaf Penso
> <asafp@nvidia.com>; Ajit Khaparde <ajit.khaparde@broadcom.com>; Somnath
> Kotur <somnath.kotur@broadcom.com>; Rahul Lakkireddy
> <rahul.lakkireddy@chelsio.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Sachin Saxena <sachin.saxena@oss.nxp.com>;
> Jeff Guo <jia.guo@intel.com>; Haiyue Wang <haiyue.wang@intel.com>; John
> Daley <johndale@cisco.com>; Hyong Youb Kim <hyonkim@cisco.com>; Gaetan
> Rivet <grive@u256.net>; Ziyang Xuan <xuanziyang2@huawei.com>; Xiaoyun
> Wang <cloud.wangxiaoyun@huawei.com>; Guoyang Zhou
> <zhouguoyang@huawei.com>; Min Hu (Connor) <humin29@huawei.com>;
> Yisen Zhuang <yisen.zhuang@huawei.com>; Lijun Ou <oulijun@huawei.com>;
> Beilei Xing <beilei.xing@intel.com>; Jingjing Wu <jingjing.wu@intel.com>;
> Qiming Yang <qiming.yang@intel.com>; Qi Zhang <qi.z.zhang@intel.com>;
> Rosen Xu <rosen.xu@intel.com>; Matan Azrad <matan@nvidia.com>; Shahaf
> Shuler <shahafs@nvidia.com>; Viacheslav Ovsiienko <viacheslavo@nvidia.com>;
> Liron Himi <lironh@marvell.com>; Jerin Jacob Kollanukkaran
> <jerinj@marvell.com>; Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>;
> Kiran Kumar Kokkilagadda <kirankumark@marvell.com>; Rasesh Mody
> <rmody@marvell.com>; Devendra Singh Rawat <dsinghrawat@marvell.com>;
> Igor Russkikh <irusskikh@marvell.com>; Keith Wiles <keith.wiles@intel.com>;
> Jiawen Wu <jiawenwu@trustnetic.com>; Jian Wang
> <jianwang@trustnetic.com>
> Subject: [EXT] [PATCH v5 2/3] doc: add flow API features tables
>
> External Email
>
> ----------------------------------------------------------------------
> The NICs overview table lists all supported features per driver.
> There was a single row for "Flow API",
> although rte_flow is composed of many items and actions.
>
> The row "Flow API" is replaced with two new tables for items and actions.
>
> Also, since rte_flow is not implemented in all drivers, it would be ugly to add
> empty sections in some files.
> That's why the error message for missing INI section is removed.
>
> The lists are sorted alphabetically.
> The extra files for some VF and vectorized data paths are not filled.
>
> Signed-off-by: Asaf Penso <asafp@nvidia.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
> ---
> .gitignore | 2 +
> doc/guides/conf.py | 18 ++--
> doc/guides/nics/features.rst | 11 --
> doc/guides/nics/features/bnxt.ini | 26 ++++-
> doc/guides/nics/features/cxgbe.ini | 31 +++++-
> doc/guides/nics/features/default.ini | 116 ++++++++++++++++++++-
> doc/guides/nics/features/dpaa2.ini | 19 +++-
> doc/guides/nics/features/e1000.ini | 14 +++
> doc/guides/nics/features/enic.ini | 29 +++++-
> doc/guides/nics/features/failsafe.ini | 1 -
> doc/guides/nics/features/hinic.ini | 16 ++-
> doc/guides/nics/features/hns3.ini | 23 +++-
> doc/guides/nics/features/hns3_vf.ini | 1 -
> doc/guides/nics/features/i40e.ini | 31 +++++-
> doc/guides/nics/features/iavf.ini | 29 +++++-
> doc/guides/nics/features/ice.ini | 33 +++++-
> doc/guides/nics/features/ice_dcf.ini | 1 -
> doc/guides/nics/features/igb.ini | 1 -
> doc/guides/nics/features/igc.ini | 12 ++-
> doc/guides/nics/features/ipn3ke.ini | 15 ++-
> doc/guides/nics/features/ixgbe.ini | 24 ++++-
> doc/guides/nics/features/mlx4.ini | 13 ++-
> doc/guides/nics/features/mlx5.ini | 71 ++++++++++++-
> doc/guides/nics/features/mvpp2.ini | 14 +++
> doc/guides/nics/features/octeontx2.ini | 42 +++++++-
> doc/guides/nics/features/octeontx2_vec.ini | 1 -
> doc/guides/nics/features/octeontx2_vf.ini | 1 -
> doc/guides/nics/features/qede.ini | 11 +-
> doc/guides/nics/features/sfc.ini | 35 ++++++-
> doc/guides/nics/features/tap.ini | 15 ++-
> doc/guides/nics/features/txgbe.ini | 24 ++++-
> doc/guides/nics/overview.rst | 8 ++
> 32 files changed, 644 insertions(+), 44 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index f73d93ca53..b19c0717e6 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
> ec59aeae7e..70213843c1 100644
> --- a/doc/guides/conf.py
> +++ b/doc/guides/conf.py
> @@ -216,14 +216,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.
> @@ -379,6 +373,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 availability in networking drivers',
> + 'Item')
> + table_file = dirname(__file__) + '/nics/rte_flow_actions_table.txt'
> + generate_overview_table(table_file, 3,
> + 'rte_flow actions',
> + 'rte_flow actions availability in networking drivers',
> + 'Action')
> table_file = dirname(__file__) + '/cryptodevs/overview_feature_table.txt'
> generate_overview_table(table_file, 1,
> 'Features', diff --git a/doc/guides/nics/features.rst
> b/doc/guides/nics/features.rst index f6d30d0af3..403c2b03a3 100644
> --- a/doc/guides/nics/features.rst
> +++ b/doc/guides/nics/features.rst
> @@ -397,17 +397,6 @@ Supports configuring link flow control.
> ``rte_eth_dev_priority_flow_ctrl_set()``.
>
>
> -.. _nic_features_flow_api:
> -
> -Flow API
> ---------
> -
> -Supports flow API family.
> -
> -* **[implements] eth_dev_ops**: ``flow_ops_get``.
> -* **[implements] rte_flow_ops**: ``All``.
> -
> -
> .. _nic_features_rate_limitation:
>
> Rate limitation
> diff --git a/doc/guides/nics/features/bnxt.ini
> b/doc/guides/nics/features/bnxt.ini
> index 79335783ec..291faaad05 100644
> --- a/doc/guides/nics/features/bnxt.ini
> +++ b/doc/guides/nics/features/bnxt.ini
> @@ -27,7 +27,6 @@ VMDq = Y
> SR-IOV = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> L3 checksum offload = Y
> L4 checksum offload = Y
> @@ -52,3 +51,28 @@ x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> Perf doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +pf = Y
> +phy_port = Y
> +port_id = Y
> +tcp = Y
> +udp = Y
> +vf = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +mark = Y
> +pf = Y
> +phy_port = Y
> +port_id = Y
> +rss = Y
> +vf = Y
> +vxlan_decap = Y
> +vxlan_encap = Y
> diff --git a/doc/guides/nics/features/cxgbe.ini
> b/doc/guides/nics/features/cxgbe.ini
> index 276879ec1a..a3ecf12aad 100644
> --- a/doc/guides/nics/features/cxgbe.ini
> +++ b/doc/guides/nics/features/cxgbe.ini
> @@ -17,7 +17,6 @@ RSS hash = Y
> RSS key update = Y
> RSS reta update = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> VLAN offload = Y
> FEC = Y
> @@ -34,3 +33,33 @@ Linux = Y
> x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +pf = Y
> +phy_port = Y
> +tcp = Y
> +udp = Y
> +vf = Y
> +vlan = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +mac_swap = Y
> +of_pop_vlan = Y
> +of_push_vlan = Y
> +of_set_vlan_pcp = Y
> +of_set_vlan_vid = Y
> +phy_port = Y
> +queue = Y
> +set_ipv4_dst = Y
> +set_ipv4_src = Y
> +set_ipv6_dst = Y
> +set_ipv6_src = Y
> +set_mac_dst = Y
> +set_mac_src = Y
> +set_tp_dst = Y
> +set_tp_src = Y
> diff --git a/doc/guides/nics/features/default.ini
> b/doc/guides/nics/features/default.ini
> index 8046bd121e..f16cbb66e3 100644
> --- a/doc/guides/nics/features/default.ini
> +++ b/doc/guides/nics/features/default.ini
> @@ -38,7 +38,6 @@ SR-IOV =
> DCB =
> VLAN filter =
> Flow control =
> -Flow API =
> Rate limitation =
> Traffic mirroring =
> Inline crypto =
> @@ -77,3 +76,118 @@ x86-64 =
> Usage doc =
> Design doc =
> Perf doc =
> +
> +[rte_flow items]
> +ah =
> +any =
> +arp_eth_ipv4 =
> +ecpri =
> +esp =
> +eth =
> +e_tag =
> +fuzzy =
> +geneve =
> +geneve_opt =
> +gre =
> +gre_key =
> +gtp =
> +gtpc =
> +gtpu =
> +gtp_psc =
> +higig2 =
> +icmp =
> +icmp6 =
> +icmp6_nd_na =
> +icmp6_nd_ns =
> +icmp6_nd_opt =
> +icmp6_nd_opt_sla_eth =
> +icmp6_nd_opt_tla_eth =
> +igmp =
> +invert =
> +ipv4 =
> +ipv6 =
> +ipv6_ext =
> +ipv6_frag_ext =
> +l2tpv3oip =
> +mark =
> +meta =
> +mpls =
> +nsh =
> +nvgre =
> +pf =
> +pfcp =
> +phy_port =
> +port_id =
> +pppoe =
> +pppoed =
> +pppoes =
> +pppoe_proto_id =
> +raw =
> +sctp =
> +tag =
> +tcp =
> +udp =
> +vf =
> +vlan =
> +void =
> +vxlan =
> +vxlan_gpe =
> +
> +[rte_flow actions]
> +age =
> +count =
> +dec_tcp_ack =
> +dec_tcp_seq =
> +dec_ttl =
> +drop =
> +flag =
> +inc_tcp_ack =
> +inc_tcp_seq =
> +jump =
> +mac_swap =
> +mark =
> +meter =
> +modify_field =
> +nvgre_decap =
> +nvgre_encap =
> +of_copy_ttl_in =
> +of_copy_ttl_out =
> +of_dec_mpls_ttl =
> +of_dec_nw_ttl =
> +of_pop_mpls =
> +of_pop_vlan =
> +of_push_mpls =
> +of_push_vlan =
> +of_set_mpls_ttl =
> +of_set_nw_ttl =
> +of_set_vlan_pcp =
> +of_set_vlan_vid =
> +passthru =
> +pf =
> +phy_port =
> +port_id =
> +queue =
> +raw_decap =
> +raw_encap =
> +rss =
> +sample =
> +security =
> +set_ipv4_dscp =
> +set_ipv4_dst =
> +set_ipv4_src =
> +set_ipv6_dscp =
> +set_ipv6_dst =
> +set_ipv6_src =
> +set_mac =
> +set_mac_dst =
> +set_mac_src =
> +set_meta =
> +set_tag =
> +set_tp_dst =
> +set_tp_src =
> +set_ttl =
> +shared =
> +vf =
> +void =
> +vxlan_decap =
> +vxlan_encap =
> diff --git a/doc/guides/nics/features/dpaa2.ini
> b/doc/guides/nics/features/dpaa2.ini
> index 59bd1a2ced..8e3d74cbb5 100644
> --- a/doc/guides/nics/features/dpaa2.ini
> +++ b/doc/guides/nics/features/dpaa2.ini
> @@ -18,7 +18,6 @@ Unicast MAC filter = Y
> RSS hash = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> VLAN offload = Y
> L3 checksum offload = Y
> L4 checksum offload = Y
> @@ -31,3 +30,21 @@ FW version = Y
> Linux = Y
> ARMv8 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +gre = Y
> +icmp = Y
> +ipv4 = Y
> +ipv6 = Y
> +meta = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/e1000.ini
> b/doc/guides/nics/features/e1000.ini
> index 7a224cc535..5af6040e37 100644
> --- a/doc/guides/nics/features/e1000.ini
> +++ b/doc/guides/nics/features/e1000.ini
> @@ -29,3 +29,17 @@ FreeBSD = Y
> Linux = Y
> x86-32 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +
> +[rte_flow actions]
> +drop = Y
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/enic.ini b/doc/guides/nics/features/enic.ini
> index 16d6aabe47..a582616c07 100644
> --- a/doc/guides/nics/features/enic.ini
> +++ b/doc/guides/nics/features/enic.ini
> @@ -25,7 +25,6 @@ Inner RSS = Y
> SR-IOV = Y
> CRC offload = Y
> VLAN offload = Y
> -Flow API = Y
> L3 checksum offload = Y
> L4 checksum offload = Y
> Inner L3 checksum = Y
> @@ -39,3 +38,31 @@ Linux = Y
> x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +flag = Y
> +jump = Y
> +mark = Y
> +of_pop_vlan = Y
> +of_push_vlan = Y
> +of_set_vlan_pcp = Y
> +of_set_vlan_vid = Y
> +passthru = Y
> +port_id = Y
> +queue = Y
> +rss = Y
> +vxlan_decap = Y
> +vxlan_encap = Y
> diff --git a/doc/guides/nics/features/failsafe.ini
> b/doc/guides/nics/features/failsafe.ini
> index b6f3dcee61..8a2b92fc9c 100644
> --- a/doc/guides/nics/features/failsafe.ini
> +++ b/doc/guides/nics/features/failsafe.ini
> @@ -19,7 +19,6 @@ Unicast MAC filter = Y
> Multicast MAC filter = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Packet type parsing = Y
> Basic stats = Y
> Stats per queue = Y
> diff --git a/doc/guides/nics/features/hinic.ini
> b/doc/guides/nics/features/hinic.ini
> index 988a0ad574..4ea7368704 100644
> --- a/doc/guides/nics/features/hinic.ini
> +++ b/doc/guides/nics/features/hinic.ini
> @@ -32,10 +32,24 @@ Inner L4 checksum = Y
> Basic stats = Y
> Extended stats = Y
> Stats per queue = Y
> -Flow API = Y
> Flow control = Y
> FW version = Y
> Multiprocess aware = Y
> Linux = Y
> x86-64 = Y
> ARMv8 = Y
> +
> +[rte_flow items]
> +any = Y
> +eth = Y
> +icmp = Y
> +icmp6 = Y
> +ipv4 = Y
> +ipv6 = Y
> +tcp = Y
> +udp = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +queue = Y
> diff --git a/doc/guides/nics/features/hns3.ini
> b/doc/guides/nics/features/hns3.ini
> index 3988be4fba..ecb3eed5aa 100644
> --- a/doc/guides/nics/features/hns3.ini
> +++ b/doc/guides/nics/features/hns3.ini
> @@ -26,7 +26,6 @@ RSS reta update = Y
> DCB = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> VLAN offload = Y
> FEC = Y
> @@ -46,3 +45,25 @@ Module EEPROM dump = Y
> Multiprocess aware = Y
> Linux = Y
> ARMv8 = Y
> +
> +[rte_flow items]
> +eth = Y
> +geneve = Y
> +icmp = Y
> +ipv4 = Y
> +ipv6 = Y
> +nvgre = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +vxlan_gpe = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +flag = Y
> +mark = Y
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/hns3_vf.ini
> b/doc/guides/nics/features/hns3_vf.ini
> index 1640669a98..489963fafd 100644
> --- a/doc/guides/nics/features/hns3_vf.ini
> +++ b/doc/guides/nics/features/hns3_vf.ini
> @@ -24,7 +24,6 @@ RSS hash = Y
> RSS key update = Y
> RSS reta update = Y
> VLAN filter = Y
> -Flow API = Y
> CRC offload = Y
> VLAN offload = Y
> L3 checksum offload = Y
> diff --git a/doc/guides/nics/features/i40e.ini b/doc/guides/nics/features/i40e.ini
> index 542432c41d..1f3f5eb3ff 100644
> --- a/doc/guides/nics/features/i40e.ini
> +++ b/doc/guides/nics/features/i40e.ini
> @@ -27,7 +27,6 @@ SR-IOV = Y
> DCB = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Traffic mirroring = Y
> CRC offload = Y
> VLAN offload = Y
> @@ -52,3 +51,33 @@ x86-32 = Y
> x86-64 = Y
> ARMv8 = Y
> Power8 = Y
> +
> +[rte_flow items]
> +ah = Y
> +esp = Y
> +eth = Y
> +gre = Y
> +gtpc = Y
> +gtpu = Y
> +ipv4 = Y
> +ipv6 = Y
> +l2tpv3oip = Y
> +mpls = Y
> +nvgre = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vf = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +flag = Y
> +mark = Y
> +passthru = Y
> +pf = Y
> +queue = Y
> +rss = Y
> +vf = Y
> diff --git a/doc/guides/nics/features/iavf.ini b/doc/guides/nics/features/iavf.ini
> index 980680e568..4864c19b57 100644
> --- a/doc/guides/nics/features/iavf.ini
> +++ b/doc/guides/nics/features/iavf.ini
> @@ -19,7 +19,6 @@ Multicast MAC filter = Y
> RSS hash = Y
> RSS key update = Y
> RSS reta update = Y
> -Flow API = Y
> VLAN filter = Y
> CRC offload = Y
> VLAN offload = Y
> @@ -34,3 +33,31 @@ FreeBSD = Y
> Linux = Y
> x86-32 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +ah = Y
> +arp_eth_ipv4 = Y
> +ecpri = Y
> +esp = Y
> +eth = Y
> +gtpc = Y
> +gtpu = Y
> +gtp_psc = Y
> +icmp = Y
> +icmp6 = Y
> +ipv4 = Y
> +ipv6 = Y
> +l2tpv3oip = Y
> +pfcp = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +mark = Y
> +passthru = Y
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/ice.ini b/doc/guides/nics/features/ice.ini
> index e30a7d2e57..c3a8a1b676 100644
> --- a/doc/guides/nics/features/ice.ini
> +++ b/doc/guides/nics/features/ice.ini
> @@ -21,7 +21,6 @@ Unicast MAC filter = Y
> RSS hash = Y
> RSS key update = Y
> RSS reta update = Y
> -Flow API = Y
> VLAN filter = Y
> CRC offload = Y
> VLAN offload = Y
> @@ -42,3 +41,35 @@ FreeBSD = Y
> Linux = Y
> x86-32 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +ah = Y
> +arp_eth_ipv4 = Y
> +esp = Y
> +eth = Y
> +gtpu = Y
> +gtp_psc = Y
> +icmp = Y
> +icmp6 = Y
> +ipv4 = Y
> +ipv6 = Y
> +l2tpv3oip = Y
> +nvgre = Y
> +pfcp = Y
> +pppoed = Y
> +pppoes = Y
> +pppoe_proto_id = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +mark = Y
> +passthru = Y
> +queue = Y
> +rss = Y
> +vf = Y
> diff --git a/doc/guides/nics/features/ice_dcf.ini
> b/doc/guides/nics/features/ice_dcf.ini
> index f4998152df..ae79b6a515 100644
> --- a/doc/guides/nics/features/ice_dcf.ini
> +++ b/doc/guides/nics/features/ice_dcf.ini
> @@ -8,7 +8,6 @@ Queue start/stop = Y
> Jumbo frame = Y
> Scattered Rx = Y
> RSS hash = P
> -Flow API = Y
> CRC offload = Y
> L3 checksum offload = P
> L4 checksum offload = P
> diff --git a/doc/guides/nics/features/igb.ini b/doc/guides/nics/features/igb.ini
> index 2925a8031d..f4f6e9a4cb 100644
> --- a/doc/guides/nics/features/igb.ini
> +++ b/doc/guides/nics/features/igb.ini
> @@ -24,7 +24,6 @@ SR-IOV = Y
> DCB = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> VLAN offload = Y
> QinQ offload = Y
> diff --git a/doc/guides/nics/features/igc.ini b/doc/guides/nics/features/igc.ini
> index 300d37e81a..f810c2df4e 100644
> --- a/doc/guides/nics/features/igc.ini
> +++ b/doc/guides/nics/features/igc.ini
> @@ -32,6 +32,16 @@ RSS key update = Y
> RSS reta update = Y
> VLAN filter = Y
> VLAN offload = Y
> -Flow API = P
> Linux = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +tcp = Y
> +udp = Y
> +
> +[rte_flow actions]
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/ipn3ke.ini
> b/doc/guides/nics/features/ipn3ke.ini
> index 82de553eb2..5586f7cb33 100644
> --- a/doc/guides/nics/features/ipn3ke.ini
> +++ b/doc/guides/nics/features/ipn3ke.ini
> @@ -26,7 +26,6 @@ SR-IOV = Y
> DCB = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Traffic mirroring = Y
> CRC offload = Y
> VLAN offload = Y
> @@ -48,3 +47,17 @@ FreeBSD = Y
> Linux = Y
> x86-32 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +mpls = Y
> +nvgre = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +mark = Y
> diff --git a/doc/guides/nics/features/ixgbe.ini
> b/doc/guides/nics/features/ixgbe.ini
> index c5e6e14aac..93a9cc18ab 100644
> --- a/doc/guides/nics/features/ixgbe.ini
> +++ b/doc/guides/nics/features/ixgbe.ini
> @@ -26,7 +26,6 @@ SR-IOV = Y
> DCB = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Rate limitation = Y
> Traffic mirroring = Y
> Inline crypto = Y
> @@ -55,3 +54,26 @@ Linux = Y
> ARMv8 = Y
> x86-32 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +eth = Y
> +e_tag = Y
> +fuzzy = Y
> +ipv4 = Y
> +ipv6 = Y
> +nvgre = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +mark = Y
> +pf = Y
> +queue = Y
> +rss = Y
> +security = Y
> +vf = Y
> diff --git a/doc/guides/nics/features/mlx4.ini
> b/doc/guides/nics/features/mlx4.ini
> index ebb9ccf767..c394dfcefe 100644
> --- a/doc/guides/nics/features/mlx4.ini
> +++ b/doc/guides/nics/features/mlx4.ini
> @@ -22,7 +22,6 @@ RSS hash = Y
> SR-IOV = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> L3 checksum offload = Y
> L4 checksum offload = Y
> @@ -38,3 +37,15 @@ Power8 = Y
> x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/mlx5.ini
> b/doc/guides/nics/features/mlx5.ini
> index ddd131da16..15b1897c21 100644
> --- a/doc/guides/nics/features/mlx5.ini
> +++ b/doc/guides/nics/features/mlx5.ini
> @@ -28,7 +28,6 @@ Inner RSS = Y
> SR-IOV = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> VLAN offload = Y
> L3 checksum offload = Y
> @@ -52,3 +51,73 @@ Power8 = Y
> x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +ecpri = Y
> +eth = Y
> +geneve = Y
> +geneve_opt = Y
> +gre = Y
> +gre_key = Y
> +gtp = Y
> +gtp_psc = Y
> +icmp = Y
> +icmp6 = Y
> +ipv4 = Y
> +ipv6 = Y
> +ipv6_frag_ext = Y
> +mark = Y
> +meta = Y
> +mpls = Y
> +nvgre = Y
> +phy_port = Y
> +port_id = Y
> +tag = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +vxlan_gpe = Y
> +
> +[rte_flow actions]
> +age = I
> +count = Y
> +dec_tcp_ack = Y
> +dec_tcp_seq = Y
> +dec_ttl = Y
> +drop = Y
> +flag = Y
> +inc_tcp_ack = Y
> +inc_tcp_seq = Y
> +jump = Y
> +mark = Y
> +meter = Y
> +modify_field = Y
> +nvgre_decap = Y
> +nvgre_encap = Y
> +of_pop_vlan = Y
> +of_push_vlan = Y
> +of_set_vlan_pcp = Y
> +of_set_vlan_vid = Y
> +port_id = Y
> +queue = Y
> +raw_decap = Y
> +raw_encap = Y
> +rss = I
> +sample = Y
> +set_ipv4_dscp = Y
> +set_ipv4_dst = Y
> +set_ipv4_src = Y
> +set_ipv6_dscp = Y
> +set_ipv6_dst = Y
> +set_ipv6_src = Y
> +set_mac_dst = Y
> +set_mac_src = Y
> +set_meta = Y
> +set_tag = Y
> +set_tp_dst = Y
> +set_tp_src = Y
> +set_ttl = Y
> +shared = Y
> +vxlan_decap = Y
> +vxlan_encap = Y
> diff --git a/doc/guides/nics/features/mvpp2.ini
> b/doc/guides/nics/features/mvpp2.ini
> index ef47546d1c..2ce0ca817a 100644
> --- a/doc/guides/nics/features/mvpp2.ini
> +++ b/doc/guides/nics/features/mvpp2.ini
> @@ -23,3 +23,17 @@ Basic stats = Y
> Extended stats = Y
> ARMv8 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +raw = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +meter = Y
> +queue = Y
> diff --git a/doc/guides/nics/features/octeontx2.ini
> b/doc/guides/nics/features/octeontx2.ini
> index c0bcb8278e..fa49868cb3 100644
> --- a/doc/guides/nics/features/octeontx2.ini
> +++ b/doc/guides/nics/features/octeontx2.ini
> @@ -30,7 +30,6 @@ Inner RSS = Y
> Inline protocol = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Rate limitation = Y
> Jumbo frame = Y
> Scattered Rx = Y
> @@ -54,3 +53,44 @@ Registers dump = Y
> Linux = Y
> ARMv8 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +any = Y
> +arp_eth_ipv4 = Y
> +esp = Y
> +eth = Y
> +e_tag = Y
> +geneve = Y
> +gre = Y
> +gre_key = Y
> +gtpc = Y
> +gtpu = Y
> +higig2 = Y
> +icmp = Y
> +ipv4 = Y
> +ipv6 = Y
> +ipv6_ext = Y
> +mpls = Y
> +nvgre = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +vxlan_gpe = Y
> +
> +[rte_flow actions]
> +count = Y
> +drop = Y
> +flag = Y
> +mark = Y
> +of_pop_vlan = Y
> +of_push_vlan = Y
> +of_set_vlan_pcp = Y
> +of_set_vlan_vid = Y
> +pf = Y
> +queue = Y
> +rss = Y
> +security = Y
> +vf = Y
> diff --git a/doc/guides/nics/features/octeontx2_vec.ini
> b/doc/guides/nics/features/octeontx2_vec.ini
> index 7025e140ad..376a1d6cc1 100644
> --- a/doc/guides/nics/features/octeontx2_vec.ini
> +++ b/doc/guides/nics/features/octeontx2_vec.ini
> @@ -27,7 +27,6 @@ RSS reta update = Y
> Inner RSS = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Rate limitation = Y
> Jumbo frame = Y
> VLAN offload = Y
> diff --git a/doc/guides/nics/features/octeontx2_vf.ini
> b/doc/guides/nics/features/octeontx2_vf.ini
> index 7f5e5b8bba..8141aadf85 100644
> --- a/doc/guides/nics/features/octeontx2_vf.ini
> +++ b/doc/guides/nics/features/octeontx2_vf.ini
> @@ -23,7 +23,6 @@ RSS reta update = Y
> Inner RSS = Y
> Inline protocol = Y
> VLAN filter = Y
> -Flow API = Y
> Rate limitation = Y
> Jumbo frame = Y
> Scattered Rx = Y
> diff --git a/doc/guides/nics/features/qede.ini
> b/doc/guides/nics/features/qede.ini
> index 852cecb3d3..e65d5d076e 100644
> --- a/doc/guides/nics/features/qede.ini
> +++ b/doc/guides/nics/features/qede.ini
> @@ -20,7 +20,6 @@ RSS key update = Y
> RSS reta update = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> CRC offload = Y
> VLAN offload = Y
> L3 checksum offload = Y
> @@ -39,3 +38,13 @@ ARMv8 = Y
> x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +ipv4 = Y
> +ipv6 = Y
> +tcp = Y
> +udp = Y
> +
> +[rte_flow actions]
> +drop = Y
> +queue = Y
> diff --git a/doc/guides/nics/features/sfc.ini b/doc/guides/nics/features/sfc.ini
> index 7e29568e5f..9e66ec4293 100644
> --- a/doc/guides/nics/features/sfc.ini
> +++ b/doc/guides/nics/features/sfc.ini
> @@ -24,7 +24,6 @@ RSS key update = Y
> RSS reta update = Y
> SR-IOV = Y
> Flow control = Y
> -Flow API = Y
> VLAN offload = P
> L3 checksum offload = Y
> L4 checksum offload = Y
> @@ -41,3 +40,37 @@ FreeBSD = Y
> Linux = Y
> ARMv8 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +eth = Y
> +geneve = Y
> +ipv4 = Y
> +ipv6 = Y
> +nvgre = Y
> +pf = Y
> +phy_port = Y
> +port_id = Y
> +pppoed = Y
> +pppoes = Y
> +tcp = Y
> +udp = Y
> +vf = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +flag = Y
> +mark = Y
> +of_pop_vlan = Y
> +of_push_vlan = Y
> +of_set_vlan_pcp = Y
> +of_set_vlan_vid = Y
> +pf = Y
> +phy_port = Y
> +port_id = Y
> +queue = Y
> +rss = Y
> +vf = Y
> +vxlan_decap = Y
> +vxlan_encap = Y
> diff --git a/doc/guides/nics/features/tap.ini b/doc/guides/nics/features/tap.ini
> index be5e53dbe9..b4a356e5d5 100644
> --- a/doc/guides/nics/features/tap.ini
> +++ b/doc/guides/nics/features/tap.ini
> @@ -11,7 +11,6 @@ Rx interrupt = Y
> Promiscuous mode = Y
> Allmulticast mode = Y
> Basic stats = Y
> -Flow API = Y
> L3 checksum offload = Y
> L4 checksum offload = Y
> MTU update = Y
> @@ -26,3 +25,17 @@ Power8 = Y
> x86-32 = Y
> x86-64 = Y
> Usage doc = Y
> +
> +[rte_flow items]
> +eth = Y
> +ipv4 = Y
> +ipv6 = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +passthru = Y
> +queue = Y
> +rss = Y
> diff --git a/doc/guides/nics/features/txgbe.ini
> b/doc/guides/nics/features/txgbe.ini
> index a3fdee9f8a..61cb3f6d9f 100644
> --- a/doc/guides/nics/features/txgbe.ini
> +++ b/doc/guides/nics/features/txgbe.ini
> @@ -26,7 +26,6 @@ SR-IOV = Y
> DCB = Y
> VLAN filter = Y
> Flow control = Y
> -Flow API = Y
> Rate limitation = Y
> Inline crypto = Y
> CRC offload = P
> @@ -52,3 +51,26 @@ Linux = Y
> ARMv8 = Y
> x86-32 = Y
> x86-64 = Y
> +
> +[rte_flow items]
> +eth = Y
> +e_tag = Y
> +fuzzy = Y
> +ipv4 = Y
> +ipv6 = Y
> +nvgre = Y
> +raw = Y
> +sctp = Y
> +tcp = Y
> +udp = Y
> +vlan = Y
> +vxlan = Y
> +
> +[rte_flow actions]
> +drop = Y
> +mark = Y
> +pf = Y
> +queue = Y
> +rss = Y
> +security = Y
> +vf = Y
> diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst index
> 20cd52b097..67575c699c 100644
> --- a/doc/guides/nics/overview.rst
> +++ b/doc/guides/nics/overview.rst
> @@ -32,3 +32,11 @@ More details about features can be found in
> :doc:`features`.
>
> Features marked with "P" are partially supported. Refer to the appropriate
> NIC guide in the following sections for details.
> +
> +.. include:: rte_flow_items_table.txt
> +
> +.. include:: rte_flow_actions_table.txt
> +
> +.. Note::
> +
> + rte_flow actions marked with "I" can be indirect as well.
> --
> 2.31.1
next prev parent reply other threads:[~2021-04-08 8:45 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Kiran Kumar Kokkilagadda [this message]
2021-05-14 10:42 ` 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=BYAPR18MB29659DFBCB155C6985E6DF82AC749@BYAPR18MB2965.namprd18.prod.outlook.com \
--to=kirankumark@marvell.com \
--cc=ajit.khaparde@broadcom.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=asafp@nvidia.com \
--cc=beilei.xing@intel.com \
--cc=cloud.wangxiaoyun@huawei.com \
--cc=dev@dpdk.org \
--cc=dsinghrawat@marvell.com \
--cc=ferruh.yigit@intel.com \
--cc=grive@u256.net \
--cc=haiyue.wang@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=humin29@huawei.com \
--cc=hyonkim@cisco.com \
--cc=irusskikh@marvell.com \
--cc=jerinj@marvell.com \
--cc=jia.guo@intel.com \
--cc=jianwang@trustnetic.com \
--cc=jiawenwu@trustnetic.com \
--cc=jingjing.wu@intel.com \
--cc=johndale@cisco.com \
--cc=keith.wiles@intel.com \
--cc=lironh@marvell.com \
--cc=matan@nvidia.com \
--cc=ndabilpuram@marvell.com \
--cc=oulijun@huawei.com \
--cc=qi.z.zhang@intel.com \
--cc=qiming.yang@intel.com \
--cc=rahul.lakkireddy@chelsio.com \
--cc=rmody@marvell.com \
--cc=rosen.xu@intel.com \
--cc=sachin.saxena@oss.nxp.com \
--cc=shahafs@nvidia.com \
--cc=somnath.kotur@broadcom.com \
--cc=thomas@monjalon.net \
--cc=viacheslavo@nvidia.com \
--cc=xuanziyang2@huawei.com \
--cc=yisen.zhuang@huawei.com \
--cc=zhouguoyang@huawei.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).