DPDK patches and discussions
 help / color / mirror / Atom feed
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

  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).