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 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
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git