[dpdk-dev] [PATCH v7 0/9] Dynamic RSS Configuration for Bonding

Tomasz Kulasek tomaszx.kulasek at intel.com
Fri Oct 30 14:56:17 CET 2015


Date: Fri, 30 Oct 2015 14:55:55 +0100
Message-Id: <1446213364-11856-1-git-send-email-tomaszx.kulasek at intel.com>
X-Mailer: git-send-email 2.1.4
In-Reply-To: <1444989651-6236-1-git-send-email-tomaszx.kulasek at intel.com>
References: <1444989651-6236-1-git-send-email-tomaszx.kulasek at intel.com>
MIME-Version: 1.0

Content-Type: text/plain; charset=UTF-8

Content-Transfer-Encoding: 8bit


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.



v7 changes:

 - Makefile for test application changed to not fail when requirements for

   test units not met



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                                  |    7 +

 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, 1150 insertions(+), 32 deletions(-)

 create mode 100644 app/test/test_link_bonding_rssconf.c

 create mode 100644 drivers/net/null/rte_eth_null.h



-- 

1.7.9.5





More information about the dev mailing list