From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Kulasek Subject: [PATCH v3 0/8] Dynamic RSS Configuration for Bonding Date: Mon, 29 Jun 2015 16:50:36 +0200 Message-ID: <1435589444-1988-1-git-send-email-tomaszx.kulasek@intel.com> References: <1434723200-7528-1-git-send-email-tomaszx.kulasek@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To: dev@dpdk.org Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id DBAFE5A7A for ; Mon, 29 Jun 2015 16:51:48 +0200 (CEST) In-Reply-To: <1434723200-7528-1-git-send-email-tomaszx.kulasek@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" OVERVIEW -------- 1) Setting .rxmode.mq_mode for bonding device to ETH_MQ_RX_RSS makes bond= ing device fully RSS-capable, so all slaves are synchronized with its configu= ration. This mode is intended to provide RSS configuration as known from "dynamic= RSS configuration for one port" and made slaves transparent for client applic= ation 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 m= ode 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 possibl= e. Other RSS configuration is propagated over slaves, when bonding device AP= I is used to do it.=20 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 bondin= g, - fix - changed error to warning when slave is synchronizing due to the bonding's initial configuration (to allow use slaves' drivers not supp= orting dynamic RSS configuration in bonding),=20 - 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 --=20 1.7.9.5