[dpdk-dev] [PATCH v3 0/8] Dynamic RSS Configuration for Bonding

Tomasz Kulasek tomaszx.kulasek at intel.com
Mon Jun 29 16:50:36 CEST 2015


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. 

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 (8):
  bonding: rss dynamic configuration
  ring: dynamic rss configuration
  test: dynamic rss configuration
  bonding: queue stats mapping
  ring: queue stats mapping set dummy implementation
  examples: dynamic rss configuration for bonding
  doc: fixed spellings and typos
  doc: dynamic rss configuration for bonding

 app/test/Makefile                                  |    1 +
 app/test/test_link_bonding_rssconf.c               |  674 ++++++++++++++
 .../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             |  235 ++++-
 drivers/net/bonding/rte_eth_bond_private.h         |   12 +
 drivers/net/ring/rte_eth_ring.c                    |  130 ++-
 examples/bond_rss/Makefile                         |   59 ++
 examples/bond_rss/bondrss.c                        |  293 ++++++
 examples/bond_rss/bondrss.h                        |  163 ++++
 examples/bond_rss/config.c                         |  251 ++++++
 examples/bond_rss/ui.c                             |  945 ++++++++++++++++++++
 12 files changed, 2808 insertions(+), 25 deletions(-)
 create mode 100644 app/test/test_link_bonding_rssconf.c
 create mode 100644 examples/bond_rss/Makefile
 create mode 100644 examples/bond_rss/bondrss.c
 create mode 100644 examples/bond_rss/bondrss.h
 create mode 100644 examples/bond_rss/config.c
 create mode 100644 examples/bond_rss/ui.c

-- 
1.7.9.5



More information about the dev mailing list