numam-dpdk/lib
Adrien Mazarguil ac8d22de23 ethdev: flatten RSS configuration in flow API
Since its inception, the rte_flow RSS action has been relying in part on
external struct rte_eth_rss_conf for compatibility with the legacy RSS API.
This structure lacks parameters such as the hash algorithm to use, and more
recently, a method to tell which layer RSS should be performed on [1].

Given struct rte_eth_rss_conf will never be flexible enough to represent a
complete RSS configuration (e.g. RETA table), this patch supersedes it by
extending the rte_flow RSS action directly.

A subsequent patch will add a field to use a non-default RSS hash
algorithm. To that end, a field named "types" replaces the field formerly
known as "rss_hf" and standing for "RSS hash functions" as it was
confusing. Actual RSS hash function types are defined by enum
rte_eth_hash_function.

This patch updates all PMDs and example applications accordingly.

It breaks ABI compatibility for the following public functions:

- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()

[1] commit 676b605182 ("doc: announce ethdev API change for RSS
    configuration")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-04-27 18:00:53 +01:00
..
librte_acl build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_bbdev bbdev: fix exported dynamic log type 2018-02-06 18:51:44 +01:00
librte_bitratestats bitratestats: fix library version in meson build 2018-03-28 00:07:35 +02:00
librte_cfgfile build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_cmdline cmdline: standardize conversion of IP address strings 2018-04-23 21:31:40 +02:00
librte_compat compat: relicense some files 2018-02-06 23:13:47 +01:00
librte_cryptodev cryptodev: support session private data setting 2018-04-23 18:20:09 +01:00
librte_distributor build: set compat lib as universal dependency 2018-01-30 21:59:00 +01:00
librte_eal vfio: add multi container support 2018-04-27 15:54:55 +01:00
librte_efd build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_ether ethdev: flatten RSS configuration in flow API 2018-04-27 18:00:53 +01:00
librte_eventdev eventdev: fix build with icc 2018-04-19 13:42:59 +02:00
librte_flow_classify flow_classify: remove void pointer cast 2018-03-30 14:08:43 +02:00
librte_gro build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_gso build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_hash hash: fix comment for lookup 2018-04-15 15:07:11 +02:00
librte_ip_frag ip_frag: fix double free of chained mbufs 2018-04-15 14:44:07 +02:00
librte_jobstats build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_kni fix ethdev port id validation 2018-04-18 00:37:05 +02:00
librte_kvargs kvargs: fix syntax in comments 2018-03-28 00:43:22 +02:00
librte_latencystats ethdev: remove experimental flag of ports enumeration 2018-04-27 18:00:24 +01:00
librte_lpm lpm: fix allocation of an existing object 2018-02-01 00:35:06 +01:00
librte_mbuf ethdev: introduce generic IP/UDP tunnel checksum and TSO 2018-04-27 17:34:41 +01:00
librte_member build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_mempool mempool: support block dequeue operation 2018-04-26 23:34:07 +02:00
librte_meter meter: fix library version in meson build 2018-03-28 00:07:35 +02:00
librte_metrics metrics: fix potential missing string termination 2018-04-04 17:33:08 +02:00
librte_net net: export IPv6 header extensions skip function 2018-04-27 17:34:41 +01:00
librte_pci pci: use z specifier to format size_t 2018-04-04 13:43:33 +02:00
librte_pdump pdump: use generic multi-process channel 2018-04-18 01:26:21 +02:00
librte_pipeline pipeline: add port in action APIs 2018-04-04 12:26:07 +02:00
librte_port build: remove checks for non-optional libraries 2018-04-17 16:09:43 +02:00
librte_power build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_rawdev rawdev: add to meson build 2018-04-17 16:40:09 +02:00
librte_reorder build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_ring ring: relax alignment constraint on ring structure 2018-04-18 00:24:22 +02:00
librte_sched build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
librte_security security: extend userdata for IPsec events 2018-04-23 18:20:10 +01:00
librte_table build: remove checks for non-optional libraries 2018-04-17 16:09:43 +02:00
librte_timer eal: make semantics of lcore role function more intuitive 2018-04-26 16:58:18 +02:00
librte_vhost vhost/crypto: fix build with gcc 4.7.2 2018-04-27 11:31:39 +02:00
Makefile eventdev: add default software timer adapter 2018-04-16 11:04:46 +02:00
meson.build rawdev: add to meson build 2018-04-17 16:40:09 +02:00