From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id DB469B3D6 for ; Fri, 12 Jun 2015 07:36:12 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 11 Jun 2015 22:36:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,600,1427785200"; d="scan'208";a="745375422" Received: from pgsmsx101.gar.corp.intel.com ([10.221.44.78]) by orsmga002.jf.intel.com with ESMTP; 11 Jun 2015 22:36:10 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by PGSMSX101.gar.corp.intel.com (10.221.44.78) with Microsoft SMTP Server (TLS) id 14.3.224.2; Fri, 12 Jun 2015 13:36:09 +0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.246]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.46]) with mapi id 14.03.0224.002; Fri, 12 Jun 2015 13:36:01 +0800 From: "Xu, HuilongX" To: "Kulasek, TomaszX" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 0/8] Dynamic RSS Configuration for Bonding Thread-Index: AQHQneyk/w6U6PXvLkuFsvvjOtgm5Z2oZWdg Date: Fri, 12 Jun 2015 05:36:00 +0000 Message-ID: References: <1433329147-2840-1-git-send-email-tomaszx.kulasek@intel.com> In-Reply-To: <1433329147-2840-1-git-send-email-tomaszx.kulasek@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-cr-hashedpuzzle: AA+D CWhZ Cruo DCET DFpH DGWJ DwCU EQkp GJwF Hv8b HwLk Ik5X JfL9 J2ZE KIBR KxYQ; 1; ZABlAHYAQABkAHAAZABrAC4AbwByAGcA; Sosha1_v1; 7; {76B99D3C-DD2A-43D9-9A83-CE601D58CE82}; aAB1AGkAbABvAG4AZwB4AC4AeAB1AEAAaQBuAHQAZQBsAC4AYwBvAG0A; Fri, 12 Jun 2015 05:35:59 GMT; UgBFADoAIABbAGQAcABkAGsALQBkAGUAdgBdACAAWwBQAEEAVABDAEgAIAAwAC8AOABdACAARAB5AG4AYQBtAGkAYwAgAFIAUwBTACAAQwBvAG4AZgBpAGcAdQByAGEAdABpAG8AbgAgAGYAbwByACAAQgBvAG4AZABpAG4AZwA= x-cr-puzzleid: {76B99D3C-DD2A-43D9-9A83-CE601D58CE82} x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 0/8] Dynamic RSS Configuration for Bonding X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jun 2015 05:36:13 -0000 Tested-by: huilong xu - Tested Commit: 1a1109404e702d3ad1ccc1033df55c59bec1f89a + PATCH - OS: Linux dpdk-fedora20 3.11.10-301.fc20.x86_64 - GCC: gcc version 4.8.3 20140624 (Red Hat 4.8.3-1) (GCC) - CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz - NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [80= 86:10fb] - NIC: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:15= 83] - Default x86_64-native-linuxapp-gcc configuration - Total 4 cases, 2 passed, 2 failed. Niantic NIC case all passed, but Fortv= ille NIC case all failed. First case: This is a unit test case, not need NIC 1. build dpdk driver and insmod driver 2. set 1024*2M hugepage 3. compile test app in app/test 4. run test ./test -c f -n 4=20 5. exec dynamic rss confif unit test link_bonding_rssconf_autotest 6. print "test ok" 7. this case passed Second case: This is a function test case, used Fortville NIC(8086:1583) 1. build dpdk driver and insmod driver 2. bind dpdk driver to Fortville nic 3. set 1024*2M hugepage 4. run test pmd ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 --= -i --txqflags=3D0x2 --mbcache=3D128 --burst=3D32 --txfreet=3D32 --rxfreet= =3D64 --rxq=3D4 --txq=3D4 5. exec testpmd cmd a) create bonded device 0 0 b) add bonding slave 0 3 c) add bonding slave 1 3 d) port start 3 port can start, and link stats is down, so this case failed= . Thirdly case: This is a function test case, used Fortville NIC(8086:1583) 1. build dpdk driver and insmod driver 2. bind dpdk driver to Fortville nic 3. set 1024*2M hugepage 4. run test pmd ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 --= -i --txqflags=3D0x2 --mbcache=3D128 --burst=3D32 --txfreet=3D32 --rxfreet= =3D64 --rxq=3D4 --txq=3D4 5. exec testpmd cmd a) create bonded device 0 0 b) add bonding slave 0 3 c) add bonding slave 1 3 d) port config all rss ip e) show port 3 rss-hash printf:=20 RSS functions: ipv4-frag ipv4-other ipv6-frag ipv6-other f) show port 0 rss-hash printf: RSS disabled Slave rss not enable, so this case failed Fourthly case: This is a function test case, used Niantic NIC(8086:10fb) 1. build dpdk driver and insmod driver 2. bind dpdk driver to Fortville nic 3. set 1024*2M hugepage 4. run test pmd ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 --= -i --txqflags=3D0x2 --mbcache=3D128 --burst=3D32 --txfreet=3D32 --rxfreet= =3D64 --rxq=3D4 --txq=3D4 5. exec testpmd cmd a) create bonded device 0 0 b) add bonding slave 0 3 c) add bonding slave 1 3 d) port start 3 e) port stop all f) set verbose 8 g) set fwd rxonly h) set stat_qmap 3 0 0 i) set stat_qmap 3 1 1 =20 j) set stat_qmap 3 1 1 k) set stat_qmap 3 1 1 l) port config all rss ip m) port start all n)start 6. send 50 ip packages to salve 0 by ixia, the package confi= g as below a) dst mac: bond device (port 3) mac address. b) src mac: 00:00:00:12:34:56 c) package type:0800 e) dst ip: 192.168.1.1=20 f) src ip: from 192.168.1.2 to 192.168.1.51, one package,= this ip add 1 7. stop=20 Port 3 queue 0 received 9 packages Port 3 queue 1 received 9 packages Port 3 queue 2 received 16 packages Port 3 queue 3 received 16 packages 8. send 50 ip packages to slave 1 by ixia, the package conf= ig as same 9. stop and check port 3 received packages again Form slave 0 and slave 1 the rss are some, the test passed > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tomasz Kulasek > Sent: Wednesday, June 03, 2015 6:59 PM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH 0/8] Dynamic RSS Configuration for Bonding >=20 > 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. >=20 > 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. >=20 > 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 > Tomasz Kulasek (8): > bond: dynamic rss configuration > ring: dynamic rss configuration > test: dynamic rss configuration > bond: 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 >=20 > app/test/Makefile | 1 + > app/test/test_link_bonding_rssconf.c | 674 ++++++++++++++ > .../prog_guide/link_bonding_poll_mode_drv_lib.rst | 40 +- > drivers/net/bonding/rte_eth_bond_api.c | 22 + > drivers/net/bonding/rte_eth_bond_pmd.c | 222 ++++- > drivers/net/bonding/rte_eth_bond_private.h | 11 + > drivers/net/ring/rte_eth_ring.c | 133 ++- > 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 | 915 > ++++++++++++++++++++ > 12 files changed, 2759 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