On 16/10/15 11:00, Tomasz Kulasek wrote: > OVERVIEW > -------- > 1) Setting .rxmode.mq_mode for bonding device to ETH_MQ_RX_RSS makes bonding > device fully RSS-capable, so all slaves are synchronized with its > configuration. > This mode is intended to provide RSS configuration as known from "dynamic RSS > configuration for one port" and made slaves transparent for client application > implementation. > > 2) If .rxmode.mq_mode for bonding device isn't ETH_MQ_RX_RSS, slaves are not > synchronized. That provides an ability to configure them manually. This mode > may > be useful when application wants to manage RSS in an unusual way and the > consistency of RSS configuration for slaves isn't required. > > Turning on/off RSS mode for slaves when bonding is started is not possible. > Other RSS configuration is propagated over slaves, when bonding device API is > used to do it. > > v6 changes: > - patchset reordered > - fixed forward dependency between patch 4/9 and 5/9 > > v5 changes: > - updated to DPDK 2.2 > - removed copyright change from null device source > - removed queue_stats_mapping_set from eth_dev_ops of bonding device > - null pmd cleanups (removed unnecessary malloc, replaced memcpy with > rte_memcpy) > - fixed queues number configuration in null pmd > > v4 changes: > - fixed copy-paste error, > - removed example application as too complex and introducing a new > dependency, > - addapted null pmd to be used as testing device for dynamic RSS > configuration, > - addapted test units to use null pmd instead of ring pmd, > - ring pmd is not used and changed in this patchset > > v3 changes: > - checkpatch cleanups > > v2 changes: > - added support for keys other than 40 bytes long, > - now, if RSS key is not set for bonding, it is not set also for slaves, > - fix - full initial RSS configuration before any slave is added was not > possible due to the initially zeroed flow_type_rss_offloads for bonding, > - fix - changed error to warning when slave is synchronizing due to the > bonding's initial configuration (to allow use slaves' drivers not > supporting > dynamic RSS configuration in bonding), > - some code cleanups, > - updated documentation, > > Tomasz Kulasek (9): > bonding: rss dynamic configuration > null: fix segfault when null_pmd added to bonding > null: extend number of virtual queues > null: export eth_dev_null_create > null: virtual dynamic rss configuration > test: dynamic rss configuration > bonding: per queue stats > doc: fixed spellings and typos > doc: dynamic rss configuration for bonding > > app/test/Makefile | 8 + > app/test/test_link_bonding_rssconf.c | 679 > ++++++++++++++++++++ > .../prog_guide/link_bonding_poll_mode_drv_lib.rst | 42 +- > drivers/net/bonding/rte_eth_bond_api.c | 28 + > drivers/net/bonding/rte_eth_bond_pmd.c | 216 ++++++- > drivers/net/bonding/rte_eth_bond_private.h | 12 + > drivers/net/null/Makefile | 2 +- > drivers/net/null/rte_eth_null.c | 149 ++++- > drivers/net/null/rte_eth_null.h | 40 ++ > drivers/net/null/rte_pmd_null_version.map | 7 + > 10 files changed, 1151 insertions(+), 32 deletions(-) > create mode 100644 app/test/test_link_bonding_rssconf.c > create mode 100644 drivers/net/null/rte_eth_null.h >
Series Acked-by: Declan Doherty <declan.doherty at intel.com>