From: "Kulasek, TomaszX" <tomaszx.kulasek@intel.com>
To: "Xu, HuilongX" <huilongx.xu@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 0/8] Dynamic RSS Configuration for Bonding
Date: Thu, 25 Jun 2015 09:20:21 +0000 [thread overview]
Message-ID: <3042915272161B4EB253DA4D77EB373A019FA74B@IRSMSX102.ger.corp.intel.com> (raw)
In-Reply-To: <DF2A19295B96364286FEB7F3DDA27A4601123394@SHSMSX101.ccr.corp.intel.com>
There's a bug in bonding itself, which prevents the bonding, made of Fortville NICs, start and is not related to Dynamic RSS Configuration.
This problem solves separate patch "bond: fix check initial link status of slave".
-----Original Message-----
From: Xu, HuilongX
Sent: Friday, June 12, 2015 07:36
To: Kulasek, TomaszX; dev@dpdk.org
Subject: RE: [dpdk-dev] [PATCH 0/8] Dynamic RSS Configuration for Bonding
Tested-by: huilong xu <huilongx.xu@intel.com>
- 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 [8086:10fb]
- NIC: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:1583]
- Default x86_64-native-linuxapp-gcc configuration
- Total 4 cases, 2 passed, 2 failed. Niantic NIC case all passed, but Fortville 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
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=0x2 --mbcache=128 --burst=32 --txfreet=32 --rxfreet=64 --rxq=4 --txq=4
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=0x2 --mbcache=128 --burst=32 --txfreet=32 --rxfreet=64 --rxq=4 --txq=4
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:
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=0x2 --mbcache=128 --burst=32 --txfreet=32 --rxfreet=64 --rxq=4 --txq=4
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
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 config 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
f) src ip: from 192.168.1.2 to 192.168.1.51, one package, this ip add 1
7. stop
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 config 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
>
> 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.
>
> 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
>
> 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
>
> --
> 1.7.9.5
next prev parent reply other threads:[~2015-06-25 9:20 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 10:58 Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 1/8] bond: dynamic rss configuration Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 2/8] ring: " Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 3/8] test: " Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 4/8] bond: queue stats mapping Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 5/8] ring: queue stats mapping set dummy implementation Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 6/8] examples: dynamic rss configuration for bonding Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 7/8] doc: fixed spellings and typos Tomasz Kulasek
2015-06-03 10:59 ` [dpdk-dev] [PATCH 8/8] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-06-12 5:36 ` [dpdk-dev] [PATCH 0/8] Dynamic RSS Configuration for Bonding Xu, HuilongX
2015-06-25 9:20 ` Kulasek, TomaszX [this message]
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 " Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 1/8] bond: rss dynamic configuration Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 2/8] ring: dynamic rss configuration Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 3/8] test: " Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 4/8] bond: queue stats mapping Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 5/8] ring: queue stats mapping set dummy implementation Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 6/8] examples: dynamic rss configuration for bonding Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 7/8] doc: fixed spellings and typos Tomasz Kulasek
2015-06-19 14:13 ` [dpdk-dev] [PATCH v2 8/8] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-06-26 7:33 ` [dpdk-dev] [PATCH v2 0/8] Dynamic RSS Configuration for Bonding Doherty, Declan
2015-06-28 21:54 ` Thomas Monjalon
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 " Tomasz Kulasek
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 1/8] bonding: rss dynamic configuration Tomasz Kulasek
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 2/8] ring: dynamic rss configuration Tomasz Kulasek
2015-07-13 12:36 ` Thomas Monjalon
2015-07-13 14:43 ` Kulasek, TomaszX
2015-07-13 15:11 ` Thomas Monjalon
2015-07-16 13:02 ` Kulasek, TomaszX
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 3/8] test: " Tomasz Kulasek
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 4/8] bonding: queue stats mapping Tomasz Kulasek
2015-07-13 11:18 ` Thomas Monjalon
2015-07-13 12:00 ` Kulasek, TomaszX
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 5/8] ring: queue stats mapping set dummy implementation Tomasz Kulasek
2015-07-09 1:58 ` Thomas Monjalon
2015-07-09 9:55 ` Kulasek, TomaszX
2015-07-09 10:13 ` Thomas Monjalon
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 6/8] examples: dynamic rss configuration for bonding Tomasz Kulasek
2015-07-13 11:20 ` Thomas Monjalon
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 7/8] doc: fixed spellings and typos Tomasz Kulasek
2015-06-29 14:50 ` [dpdk-dev] [PATCH v3 8/8] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-07-01 10:05 ` [dpdk-dev] [PATCH v3 0/8] Dynamic RSS Configuration for Bonding Declan Doherty
2015-07-13 11:03 ` Thomas Monjalon
2015-07-13 11:18 ` Thomas Monjalon
2015-07-13 12:14 ` Kulasek, TomaszX
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 0/9] " Tomasz Kulasek
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 1/9] bonding: rss dynamic configuration Tomasz Kulasek
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 2/9] null: fix segfault when null_pmd added to bonding Tomasz Kulasek
2015-09-29 2:24 ` Tetsuya Mukawa
2015-09-29 9:39 ` Kulasek, TomaszX
2015-09-29 10:32 ` Tetsuya Mukawa
2015-09-29 11:29 ` Kulasek, TomaszX
2015-09-29 15:10 ` Kulasek, TomaszX
2015-09-30 1:24 ` Tetsuya Mukawa
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 3/9] null: extend number of virtual queues Tomasz Kulasek
2015-09-29 2:24 ` Tetsuya Mukawa
2015-09-29 9:46 ` Kulasek, TomaszX
2015-09-29 10:34 ` Tetsuya Mukawa
2015-09-29 11:56 ` Kulasek, TomaszX
2015-09-29 15:06 ` Kulasek, TomaszX
2015-09-30 1:24 ` Tetsuya Mukawa
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 4/9] null: virtual dynamic rss configuration Tomasz Kulasek
2015-09-29 2:24 ` Tetsuya Mukawa
2015-09-29 10:04 ` Kulasek, TomaszX
2015-10-12 9:05 ` Jastrzebski, MichalX K
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 5/9] null: export eth_dev_null_create Tomasz Kulasek
2015-09-25 10:11 ` Thomas Monjalon
2015-09-25 13:24 ` Kulasek, TomaszX
2015-09-25 13:43 ` Thomas Monjalon
2015-09-29 2:28 ` Tetsuya Mukawa
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 6/9] test: dynamic rss configuration Tomasz Kulasek
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 7/9] bonding: queue stats mapping Tomasz Kulasek
2015-09-25 10:14 ` Thomas Monjalon
2015-09-25 13:26 ` Kulasek, TomaszX
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 8/9] doc: fixed spellings and typos Tomasz Kulasek
2015-07-15 17:26 ` [dpdk-dev] [PATCHv4 9/9] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-09-25 10:16 ` [dpdk-dev] [PATCHv4 0/9] Dynamic RSS Configuration for Bonding Thomas Monjalon
2015-09-25 13:28 ` Kulasek, TomaszX
2015-09-25 13:44 ` Thomas Monjalon
2015-09-30 14:04 ` [dpdk-dev] [PATCH v5 " Tomasz Kulasek
2015-09-30 14:04 ` [dpdk-dev] [PATCH v5 1/9] bonding: rss dynamic configuration Tomasz Kulasek
2015-09-30 14:04 ` [dpdk-dev] [PATCH v5 2/9] null: fix segfault when null_pmd added to bonding Tomasz Kulasek
2015-09-30 14:04 ` [dpdk-dev] [PATCH v5 3/9] null: extend number of virtual queues Tomasz Kulasek
2015-10-14 1:34 ` Tetsuya Mukawa
2015-09-30 14:05 ` [dpdk-dev] [PATCH v5 4/9] null: virtual dynamic rss configuration Tomasz Kulasek
2015-10-14 1:34 ` Tetsuya Mukawa
2015-10-15 7:46 ` Tetsuya Mukawa
2015-10-15 8:42 ` Kulasek, TomaszX
2015-10-15 9:21 ` Tetsuya Mukawa
2015-09-30 14:05 ` [dpdk-dev] [PATCH v5 5/9] null: export eth_dev_null_create Tomasz Kulasek
2015-10-14 1:35 ` Tetsuya Mukawa
2015-10-14 12:42 ` Jastrzebski, MichalX K
2015-10-15 8:16 ` Tetsuya Mukawa
2015-10-15 10:35 ` Jastrzebski, MichalX K
2015-09-30 14:05 ` [dpdk-dev] [PATCH v5 6/9] test: dynamic rss configuration Tomasz Kulasek
2015-09-30 14:05 ` [dpdk-dev] [PATCH v5 7/9] bonding: per queue stats Tomasz Kulasek
2015-09-30 14:05 ` [dpdk-dev] [PATCH v5 8/9] doc: fixed spellings and typos Tomasz Kulasek
2015-09-30 14:05 ` [dpdk-dev] [PATCH v5 9/9] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 0/9] Dynamic RSS Configuration for Bonding Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 1/9] bonding: rss dynamic configuration Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 2/9] null: fix segfault when null_pmd added to bonding Tomasz Kulasek
2015-10-27 16:58 ` Thomas Monjalon
2015-10-28 13:43 ` Kulasek, TomaszX
2015-10-29 7:19 ` Tetsuya Mukawa
2015-10-30 13:50 ` Kulasek, TomaszX
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 3/9] null: extend number of virtual queues Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 4/9] null: export eth_dev_null_create Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 5/9] null: virtual dynamic rss configuration Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 6/9] test: " Tomasz Kulasek
2015-10-27 17:34 ` Thomas Monjalon
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 7/9] bonding: per queue stats Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 8/9] doc: fixed spellings and typos Tomasz Kulasek
2015-10-16 10:00 ` [dpdk-dev] [PATCH v6 9/9] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-10-19 13:22 ` [dpdk-dev] [PATCH v6 0/9] Dynamic RSS Configuration for Bonding Declan Doherty
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 " Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 1/9] bonding: rss dynamic configuration Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 2/9] null: fix segfault when null_pmd added to bonding Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 3/9] null: extend number of virtual queues Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 4/9] null: export eth_dev_null_create Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 5/9] null: virtual dynamic rss configuration Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 6/9] test: " Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 7/9] bonding: per queue stats Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 8/9] doc: fixed spellings and typos Tomasz Kulasek
2015-10-30 14:25 ` [dpdk-dev] [PATCH v7 9/9] doc: dynamic rss configuration for bonding Tomasz Kulasek
2015-11-01 17:29 ` [dpdk-dev] [PATCH v7 0/9] Dynamic RSS Configuration for Bonding Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3042915272161B4EB253DA4D77EB373A019FA74B@IRSMSX102.ger.corp.intel.com \
--to=tomaszx.kulasek@intel.com \
--cc=dev@dpdk.org \
--cc=huilongx.xu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).