From: "Liu, Yong" <yong.liu@intel.com>
To: "Horton, Remy" <remy.horton@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v9 0/3] User-space ethtool sample application
Date: Tue, 24 Nov 2015 03:05:22 +0000 [thread overview]
Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E10F6D38E@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <1448033697-32613-1-git-send-email-remy.horton@intel.com>
Tested-by: Yong Liu <yong.liu@intel.com>
- Tested Commit: 4522eca1352d8ed7c0823e328e2a68c2ba6459ab
- OS: Fedora20 3.11.10-301.fc20.x86_64
- GCC: gcc version 4.8.3 20140911
- CPU: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
- NIC: Intel Corporation Device 82599ES [8086:10fb]
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites:
- Total 9 cases, 9 passed, 0 failed
- Prerequisites command / instruction:
Build userspace ethtool sample
make -C examples/ethtool
- Case: ethtool_dump_driver_info
Description: check userspace sample can dump driver information and port
statistics
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Wait for the sample start up and shown prompt
EthApp>
Use "drvinfo" command to dump driver information and check it's correct.
EthApp> drvinfo
Port 0 driver: rte_ixgbe_pmd (ver: RTE 2.2.0-rc1)
Port 1 driver: rte_ixgbe_pmd (ver: RTE 2.2.0-rc1)
Change tester port link down and check link status can be detected.
EthApp> link
Port 0: Down
Port 1: Down
Send packets to port0 and port1 and check port statistic correct.
EthApp> Port 0 stats
In: 1 (64 bytes)
Out: 1 (64 bytes)
Err: 0
- Case: ethtool_vlan
Description: check userspace sample can configure port vlan setting
Command / instruction:
Enable port vlan filer in main file
cfg_port.rxmode.hw_vlan_filter=1
Rebuild sample and start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Add random vlan on port and send packet with same vlan
EthApp> vlan 0 add 2997
Check packet normally forwarded and port statistic correct
EthApp> Port 0 stats
In: 1 (64 bytes)
Out: 1 (64 bytes)
Err: 0
Send packet with wrong vlan and check packet not forwarded
EthApp> Port 0 stats
In: 1 (64 bytes)
Out: 1 (64 bytes)
Err: 0
Remove the random vlan on port and send packet with same vlan
EthApp> vlan 0 remove 2997
Check packet not forwarded
EthApp> Port 0 stats
In: 1 (64 bytes)
Out: 1 (64 bytes)
Err: 0
- Case: ethtool_mac_address
Description: check userspace sample can configure port mac address
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Add random vlan on port and send packet with same vlan
EthApp> vlan 0 add 2997
Changed port mac address and "macaddr" command can dump new mac
EthApp> macaddr 0 00:10:00:00:00:00
EthApp> macaddr 0
Port 0 MAC Address: 00:10:00:00:00:00
Send packet and check forwarded packet source mac changed
- Case: ethtool_port_config
Description: check userspace sample can start/stop port
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Stop port and check forwarding cannot work
EthApp> stop 0
Restart port and check packet can be normally forwarded
- Case: ethtool_retrieve_eeprom
Description: check userspace sample can retrieve port eerprom file
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Retrieve port eeprom file and saved for later compare
EthApp> eeprom 0 eeprom_0.bin
Bound port back to default kernel driver and dump eeprom by ethtool
ethtool --eeprom-dump p1p3 raw on > ethtool_eeprom_0.bin
Check userspace ethool and linux ethtool dumped file md5 are the same
md5sum eeprom_0.bin
md5sum ethtool_eeprom_0.bin
- Case: ethtool_retrieve_register
Description: check userspace sample can retrieve port register file
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Retrieve port register file
EthApp> regs 0 regs_0.bin
User linux ethtool dump this file and check information correct
ethtool -d p1p3 raw off file regs_0.bin
- Case: ethtool_ring_parameter
Description: check userspace sample can configure pending entries of Rx/Tx
ring
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Use command "ringparam" dump port pending entries
EthApp> ringparam 0
Port 0 ring parameters
Rx Pending: 128 (4096 max)
Tx Pending: 256 (4096 max)
Changed pending entries of Rx/Tx ring to max value
EthApp> ringparam 0 4096 4096
Check that packet can be normally forwarded
EthApp> portstats 0
Port 0 stats
In: 1 (64 bytes)
Out: 1 (64 bytes)
Err: 0
- Case: ethtool_rx_pause
Description: check userspace sample can configure port rx pause setting
Command / instruction:
Start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Enable port 0 handle rx pause frame
EthApp> pause 0 rx
Based on 50% line rate, calculate how many packets hanged per pause frame
Configure transmit number of packets and then one pause frame from test
port
Check forwarded rate just 50% and difference smaller than 0.1%
- Case: ethtool_tx_pause
Description: check userspace sample can configure port tx pause setting
Command / instruction:
After receive burst of packets, sleep a while for slow down
usleep(10);
Rebuild sample and start userspace ethtool sample with two ports bound
ethtool -c f -n 4
Enable port 0 wiht transmit pause frame
EthApp> pause 0 tx
Send packets with line rate from tester port
Enable tester port link control, transmit speed will also dropped
After few seconds stop transmit, check tester port received packets more
than transmitted.
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Remy Horton
> Sent: Friday, November 20, 2015 11:35 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v9 0/3] User-space ethtool sample application
>
> Further enhancements to the userspace ethtool implementation that was
> submitted in 2.1 and packaged as a self-contained sample application.
> Implements an rte_ethtool shim layer based on rte_ethdev API, along
> with a command prompt driven demonstration application.
>
> This patchset depends on:
> * http://dpdk.org/dev/patchwork/patch/8070/
>
> v9:
> * Merged in upstream external lib dependency
> * Added sanity check to shim MTU set function
> * Added example to example/Makefile
> * Rebased to latest master
>
> v8:
> * Rebased to latest origin/master
>
> v7:
> * Ringparam printouts wrong way round
> * Ringparam help message corrections
> * Use __rte_unused instead of __attribute__((unused))
> * Allow Jumbo-sized MTUs
> * Documentation style and spelling changes
>
> v6:
> * Fixed hang when run with zero available ports
> * Fixed incorrect sanity check preventing EEPROM dumps
> * Documentation additions
> * Fixed RxMode accepting untagged packets
> * Fixed ringparam allocation being too small
>
> v5:
> * Documentation changes
>
> v4:
> * Fixed assumption that master core always has id zero
> * Changed 1:1 core-to-port to 2 core (ethtool & ports) design
> * Included the correct documentation..
>
> v3:
> * Made use of enums for core state.
> * Fixed Makefile issue.
> * Fixed incorrect assumption with core ids.
> * Changed handling of more ports than cores.
>
> v2:
> * Replaced l2fwd base with simpler application.
> * Added ringparam functions.
> * Added documentation.
>
> Remy Horton (3):
> Remove ABI requirement for external library builds.
> example: add user-space ethtool sample application
> doc: add user-space ethtool sample app guide & release notes
>
> MAINTAINERS | 4 +
> doc/guides/rel_notes/release_2_2.rst | 1 +
> doc/guides/sample_app_ug/ethtool.rst | 160 +++++++
> doc/guides/sample_app_ug/index.rst | 1 +
> examples/Makefile | 1 +
> examples/ethtool/Makefile | 48 ++
> examples/ethtool/ethtool-app/Makefile | 54 +++
> examples/ethtool/ethtool-app/ethapp.c | 873
> ++++++++++++++++++++++++++++++++++
> examples/ethtool/ethtool-app/ethapp.h | 41 ++
> examples/ethtool/ethtool-app/main.c | 305 ++++++++++++
> examples/ethtool/lib/Makefile | 57 +++
> examples/ethtool/lib/rte_ethtool.c | 423 ++++++++++++++++
> examples/ethtool/lib/rte_ethtool.h | 410 ++++++++++++++++
> mk/rte.extlib.mk | 2 +
> mk/rte.lib.mk | 6 +
> 15 files changed, 2386 insertions(+)
> create mode 100644 doc/guides/sample_app_ug/ethtool.rst
> create mode 100644 examples/ethtool/Makefile
> create mode 100644 examples/ethtool/ethtool-app/Makefile
> create mode 100644 examples/ethtool/ethtool-app/ethapp.c
> create mode 100644 examples/ethtool/ethtool-app/ethapp.h
> create mode 100644 examples/ethtool/ethtool-app/main.c
> create mode 100644 examples/ethtool/lib/Makefile
> create mode 100644 examples/ethtool/lib/rte_ethtool.c
> create mode 100644 examples/ethtool/lib/rte_ethtool.h
>
> --
> 1.9.3
next prev parent reply other threads:[~2015-11-24 3:05 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1443593929-1804-1-git-send-email-remy.horton@intel.com>
2015-09-30 6:18 ` [dpdk-dev] [PATCH v1 1/2] l2fwd: Fix coding standard errors Remy Horton
2015-09-30 6:18 ` [dpdk-dev] [PATCH v1 2/2] User-space ethtool sample application Remy Horton
2015-10-26 15:59 ` [dpdk-dev] [PATCH v2 0/2] " Remy Horton
2015-10-26 15:59 ` [dpdk-dev] [PATCH v2 1/2] example: " Remy Horton
2015-10-26 15:59 ` [dpdk-dev] [PATCH v2 2/2] doc: " Remy Horton
2015-10-28 11:12 ` [dpdk-dev] [PATCH v3 0/2] " Remy Horton
2015-10-28 11:12 ` [dpdk-dev] [PATCH v3 1/2] example: add user-space " Remy Horton
2015-10-28 11:12 ` [dpdk-dev] [PATCH v3 2/2] doc: add user-space ethtool sample app guide Remy Horton
2015-10-28 13:52 ` [dpdk-dev] [PATCH v3 0/2] User-space ethtool sample application Ananyev, Konstantin
2015-10-29 12:11 ` [dpdk-dev] [PATCH v4 " Remy Horton
2015-10-29 12:11 ` [dpdk-dev] [PATCH v4 1/2] example: add user-space " Remy Horton
2015-10-29 12:11 ` [dpdk-dev] [PATCH v4 2/2] doc: add user-space ethtool sample app guide Remy Horton
2015-10-29 14:14 ` [dpdk-dev] [PATCH v5 0/2] User-space ethtool sample application Remy Horton
2015-10-29 14:14 ` [dpdk-dev] [PATCH v5 1/2] example: add user-space " Remy Horton
2015-10-29 14:14 ` [dpdk-dev] [PATCH v5 2/2] doc: add user-space ethtool sample app guide Remy Horton
2015-10-29 14:19 ` [dpdk-dev] [PATCH v5 0/2] User-space ethtool sample application Ananyev, Konstantin
2015-11-06 16:11 ` [dpdk-dev] [PATCH v6 " Remy Horton
2015-11-06 16:11 ` [dpdk-dev] [PATCH v6 1/2] example: add user-space " Remy Horton
2015-11-06 16:11 ` [dpdk-dev] [PATCH v6 2/2] doc: add user-space ethtool sample app guide Remy Horton
2015-11-13 16:52 ` Mcnamara, John
2015-11-16 10:56 ` Remy Horton
2015-11-06 16:38 ` [dpdk-dev] [PATCH v6 0/2] User-space ethtool sample application Ananyev, Konstantin
2015-11-16 13:30 ` [dpdk-dev] [PATCH v7 " Remy Horton
2015-11-16 13:30 ` [dpdk-dev] [PATCH v7 1/2] example: add user-space " Remy Horton
2015-11-16 13:30 ` [dpdk-dev] [PATCH v7 2/2] doc: add user-space ethtool sample app guide Remy Horton
2015-11-16 13:42 ` [dpdk-dev] [PATCH v8 0/2] User-space ethtool sample application Remy Horton
2015-11-16 13:42 ` [dpdk-dev] [PATCH v8 1/2] example: add user-space " Remy Horton
2015-11-16 13:42 ` [dpdk-dev] [PATCH v8 2/2] doc: add user-space ethtool sample app guide Remy Horton
2015-11-16 14:16 ` Mcnamara, John
2015-11-16 13:50 ` [dpdk-dev] [PATCH v8 0/2] User-space ethtool sample application Thomas Monjalon
2015-11-20 15:34 ` [dpdk-dev] [PATCH v9 0/3] " Remy Horton
2015-11-20 15:34 ` [dpdk-dev] [PATCH v9 1/3] Remove ABI requirement for external library builds Remy Horton
[not found] ` <2601191342CEEE43887BDE71AB97725836ACAB5A@irsmsx105.ger.corp.intel.com>
2015-11-20 16:32 ` Wang, Liang-min
2015-11-20 15:34 ` [dpdk-dev] [PATCH v9 2/3] example: add user-space ethtool sample application Remy Horton
2015-11-20 17:15 ` Ananyev, Konstantin
2015-12-07 2:29 ` Thomas Monjalon
2015-12-07 11:54 ` Remy Horton
2015-11-20 15:34 ` [dpdk-dev] [PATCH v9 3/3] doc: add user-space ethtool sample app guide Remy Horton
2015-11-20 17:16 ` Ananyev, Konstantin
2015-12-01 12:05 ` Mcnamara, John
2015-11-24 3:05 ` Liu, Yong [this message]
2015-12-07 13:48 ` [dpdk-dev] [PATCH v10 0/4] User-space ethtool sample application Remy Horton
2015-12-07 13:48 ` [dpdk-dev] [PATCH v10 1/4] Remove ABI requirement for external library builds Remy Horton
2015-12-07 13:48 ` [dpdk-dev] [PATCH v10 2/4] mk: Fix missing directory with combined extlib build Remy Horton
2015-12-08 0:49 ` Thomas Monjalon
2015-12-07 13:48 ` [dpdk-dev] [PATCH v10 3/4] example: add user-space ethtool sample application Remy Horton
2015-12-07 13:49 ` [dpdk-dev] [PATCH v10 4/4] doc: add user-space ethtool sample app guide Remy Horton
2015-12-08 0:30 ` Thomas Monjalon
2015-12-08 0:33 ` [dpdk-dev] [PATCH v10 0/4] User-space ethtool sample application 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=86228AFD5BCD8E4EBFD2B90117B5E81E10F6D38E@SHSMSX103.ccr.corp.intel.com \
--to=yong.liu@intel.com \
--cc=dev@dpdk.org \
--cc=remy.horton@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).