From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Kulasek Subject: [PATCH v7 0/9] Dynamic RSS Configuration for Bonding Date: Fri, 30 Oct 2015 15:25:47 +0100 Message-ID: <1446215156-12260-1-git-send-email-tomaszx.kulasek@intel.com> References: <1444989651-6236-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 6DE1E8E6F for ; Fri, 30 Oct 2015 15:26:04 +0100 (CET) In-Reply-To: <1444989651-6236-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. v7 changes: - Makefile for test application changed to not fail when requirements fo= r 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 configu= ration, - 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 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), - 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 --=20 1.7.9.5