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 894d81ca75..67d2dd62c7 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -176,14 +176,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. @@ -339,6 +333,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..3b55e0ccb0 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,116 @@ x86-64 = Usage doc = Design doc = Perf doc = + +[rte_flow items] +ah = +any = +arp_eth_ipv4 = +conntrack = +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 = +integrity = +invert = +ipv4 = +ipv6 = +ipv6_ext = +ipv6_frag_ext = +l2tpv3oip = +mark = +meta = +mpls = +nsh = +nvgre = +pf = +pfcp = +phy_port = +port_id = +pppoed = +pppoes = +pppoe_proto_id = +raw = +sctp = +tag = +tcp = +udp = +vf = +vlan = +vxlan = +vxlan_gpe = + +[rte_flow actions] +age = +conntrack = +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_dst = +set_mac_src = +set_meta = +set_tag = +set_tp_dst = +set_tp_src = +set_ttl = +vf = +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 0f89c60694..cf8d53d0d6 100644 --- a/doc/guides/nics/features/hns3.ini +++ b/doc/guides/nics/features/hns3.ini @@ -28,7 +28,6 @@ RSS reta update = Y DCB = Y VLAN filter = Y Flow control = Y -Flow API = Y CRC offload = Y VLAN offload = Y FEC = Y @@ -50,3 +49,25 @@ Timestamp offload = 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 92383506c3..7da994c2dc 100644 --- a/doc/guides/nics/features/hns3_vf.ini +++ b/doc/guides/nics/features/hns3_vf.ini @@ -25,7 +25,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..7af62d4ce7 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,32 @@ 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 +ipv6_frag_ext = 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 2b93872b1c..1b9228c678 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 @@ -43,3 +42,36 @@ Linux = Y Windows = 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 +ipv6_frag_ext = 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..3b82ce41fd 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,75 @@ Power8 = Y x86-32 = Y x86-64 = Y Usage doc = Y + +[rte_flow items] +conntrack = Y +ecpri = Y +eth = Y +geneve = Y +geneve_opt = Y +gre = Y +gre_key = Y +gtp = Y +gtp_psc = Y +icmp = Y +icmp6 = Y +integrity = 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 +conntrack = I +count = I +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 +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..fa32bc7890 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,45 @@ 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 +port_id = 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.