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.
