DPDK patches and discussions
 help / color / mirror / Atom feed
From: Marc Sune <marcdevel@gmail.com>
To: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v5 0/4] ethdev: add speed capabilities and refactor link API
Date: Sun, 4 Oct 2015 23:21:24 +0200	[thread overview]
Message-ID: <CA+3n-Tp8nZr0a8QNEn0=AXfRZoV0LYbkyHjEVnrSzYbVeweMTA@mail.gmail.com> (raw)
In-Reply-To: <1443993167-1150-1-git-send-email-marcdevel@gmail.com>

2015-10-04 23:12 GMT+02:00 Marc Sune <marcdevel@gmail.com>:

> The current rte_eth_dev_info abstraction does not provide any mechanism to
> get the supported speed(s) of an ethdev.
>
> For some drivers (e.g. ixgbe), an educated guess could be done based on the
> driver's name (driver_name in rte_eth_dev_info), see:
>
> http://dpdk.org/ml/archives/dev/2013-August/000412.html
>
> However, i) doing string comparisons is annoying, and can silently
> break existing applications if PMDs change their names ii) it does not
> provide all the supported capabilities of the ethdev iii) for some drivers
> it
> is impossible determine correctly the (max) speed by the application
> (e.g. in i40, distinguish between XL710 and X710).
>
> In addition, the link APIs do not allow to define a set of advertised link
> speeds for autonegociation.
>
> This series of patches adds the following capabilities:
>
> * speed_capa bitmap in rte_eth_dev_info, which is filled by the PMDs
>   according to the physical device capabilities.
> * refactors link API in ethdev to allow the definition of the advertised
>   link speeds, fix speed (no auto-negociation) or advertise all supported
>   speeds (default).
>
> WARNING: this patch series, specifically 3/4, is NOT tested for most of the
> PMDs, due to the lack of hardware. Only generic EM is tested (VM).
> Minor bugs expected.
>

Please mind this.

I do not have access currently to my usual testbed (several 1000/igb +
XL710). It may take some time to be rearmed, so in the meantime I've
circulated it now to make sure I've correctly captured the conclusions of
the discussion and to ask for some help on those PMDs I can anyway not test
due to the lack of HW.

Regards
Marc


>
> * * * * *
>
> v2: rebase, converted speed_capa into 32 bits bitmap, fixed alignment
> (checkpatch).
>
> v3: rebase to v2.1. unified ETH_LINK_SPEED and ETH_SPEED_CAP into
> ETH_SPEED.
>     Converted field speed in struct rte_eth_conf to speed, to allow a
> bitmap
>     for defining the announced speeds, as suggested M. Brorup. Fixed
> spelling
>     issues.
>
> v4: fixed errata in the documentation of field speeds of rte_eth_conf, and
>     commit 1/2 message. rebased to v2.1.0. v3 was incorrectly based on
>     ~2.1.0-rc1.
>
> v5: revert to v2 speed capabilities patch. Fixed MLX4 speed capabilities
>     (thanks N. Laranjeiro). Refactored link speed API to allow setting
>     advertised speeds (3/4). Added NO_AUTONEG option to explicitely disable
>     auto-negociation. Updated 2.2 rel. notes (4/4). Rebased to current
> HEAD.
>
>
> Marc Sune (4):
>   ethdev: Added ETH_SPEED_CAP bitmap for ports
>   ethdev: Fill speed capability bitmaps in the PMDs
>   ethdev: redesign link speed config API
>   doc: update with link changes
>
>  app/test-pmd/cmdline.c                     | 124
> +++++++++++++++--------------
>  app/test/virtual_pmd.c                     |   4 +-
>  doc/guides/rel_notes/release_2_2.rst       |  22 ++++-
>  drivers/net/af_packet/rte_eth_af_packet.c  |   5 +-
>  drivers/net/bonding/rte_eth_bond_8023ad.c  |  14 ++--
>  drivers/net/cxgbe/base/t4_hw.c             |   8 +-
>  drivers/net/e1000/base/e1000_80003es2lan.c |   6 +-
>  drivers/net/e1000/base/e1000_82541.c       |   8 +-
>  drivers/net/e1000/base/e1000_82543.c       |   4 +-
>  drivers/net/e1000/base/e1000_82575.c       |  11 +--
>  drivers/net/e1000/base/e1000_api.c         |   2 +-
>  drivers/net/e1000/base/e1000_api.h         |   2 +-
>  drivers/net/e1000/base/e1000_defines.h     |   4 +-
>  drivers/net/e1000/base/e1000_hw.h          |   2 +-
>  drivers/net/e1000/base/e1000_ich8lan.c     |   4 +-
>  drivers/net/e1000/base/e1000_mac.c         |   9 ++-
>  drivers/net/e1000/base/e1000_mac.h         |   6 +-
>  drivers/net/e1000/base/e1000_vf.c          |   4 +-
>  drivers/net/e1000/base/e1000_vf.h          |   2 +-
>  drivers/net/e1000/em_ethdev.c              | 104 ++++++++++++------------
>  drivers/net/e1000/igb_ethdev.c             |  99 ++++++++++++-----------
>  drivers/net/fm10k/fm10k_ethdev.c           |   5 +-
>  drivers/net/i40e/i40e_ethdev.c             |  75 +++++++++--------
>  drivers/net/i40e/i40e_ethdev_vf.c          |  11 +--
>  drivers/net/ixgbe/ixgbe_ethdev.c           |  74 ++++++++---------
>  drivers/net/mlx4/mlx4.c                    |   6 ++
>  drivers/net/mpipe/mpipe_tilegx.c           |   6 +-
>  drivers/net/null/rte_eth_null.c            |   5 +-
>  drivers/net/pcap/rte_eth_pcap.c            |   9 ++-
>  drivers/net/ring/rte_eth_ring.c            |   5 +-
>  drivers/net/vmxnet3/vmxnet3_ethdev.c       |   5 +-
>  drivers/net/xenvirt/rte_eth_xenvirt.c      |   5 +-
>  examples/ip_pipeline/config_parse.c        |   3 +-
>  lib/librte_ether/rte_ethdev.c              |  49 ++++++++++++
>  lib/librte_ether/rte_ethdev.h              |  97 +++++++++++++++++-----
>  35 files changed, 481 insertions(+), 318 deletions(-)
>
> --
> 2.1.4
>
>

      parent reply	other threads:[~2015-10-04 21:21 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-11 23:45 [dpdk-dev] [RFC PATCH 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-05-11 23:45 ` [dpdk-dev] [RFC PATCH 1/2] Added ETH_SPEED_CAP bitmap in rte_eth_dev_info Marc Sune
2015-05-25 17:46   ` Stephen Hemminger
2015-05-26  8:41     ` Marc Sune
2015-05-26 15:03   ` Stephen Hemminger
2015-05-26 15:09     ` Marc Sune
2015-05-11 23:45 ` [dpdk-dev] [RFC PATCH 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-05-25 16:32 ` [dpdk-dev] [RFC PATCH 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-05-26 19:50 ` [dpdk-dev] [PATCH v2 " Marc Sune
2015-05-26 19:50   ` [dpdk-dev] [PATCH v2 1/2] Added ETH_SPEED_CAP bitmap in rte_eth_dev_info Marc Sune
2015-05-27  4:02     ` Thomas Monjalon
2015-05-27  9:15       ` Marc Sune
2015-05-29 18:23         ` Thomas Monjalon
2015-06-08  8:50           ` Marc Sune
2015-06-11  9:08             ` Thomas Monjalon
2015-06-11 14:35               ` Marc Sune
2015-05-26 19:50   ` [dpdk-dev] [PATCH v2 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-05-26 21:20     ` Igor Ryzhov
2015-05-27  8:59       ` Marc Sune
2015-08-28 23:20   ` [dpdk-dev] [PATCH v3 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-08-28 23:20     ` [dpdk-dev] [PATCH v3 1/2] Added ETH_SPEED_ bitmap in rte_eth_dev_info Marc Sune
2015-08-28 23:20     ` [dpdk-dev] [PATCH v3 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-08-29  0:16     ` [dpdk-dev] [PATCH v4 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-08-29  0:16       ` [dpdk-dev] [PATCH v4 1/2] Added ETH_SPEED_ bitmap in rte_eth_dev_info Marc Sune
2015-08-29  0:16       ` [dpdk-dev] [PATCH v4 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-09-07 20:52       ` [dpdk-dev] [PATCH v4 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-09-08 10:03         ` Nélio Laranjeiro
2015-09-08 20:26           ` Marc Sune
2015-09-09 13:10           ` Nélio Laranjeiro
2015-09-09 13:33             ` Thomas Monjalon
2015-09-13 19:14               ` Marc Sune
2015-09-13 21:18                 ` Thomas Monjalon
2015-09-14 10:02                   ` Nélio Laranjeiro
2015-09-14 10:52                   ` Morten Brørup
2015-09-14 21:33                     ` Marc Sune
2015-09-14 22:50                       ` Morten Brørup
2015-09-15  8:25                         ` Nélio Laranjeiro
2015-09-15  8:48                           ` Marc Sune
2015-09-15  9:39                             ` Morten Brørup
2015-09-15 10:04                             ` Adrien Mazarguil
2015-09-15 10:24                               ` Morten Brørup
2015-09-15 21:20                               ` Marc Sune
2015-09-16 14:41                                 ` Adrien Mazarguil
2015-09-15  7:05                       ` Thomas Monjalon
2015-09-15  7:33                         ` Morten Brørup
2015-09-15  9:06                       ` Morten Brørup
2015-10-04 21:12       ` [dpdk-dev] [PATCH v5 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2015-10-04 21:12         ` [dpdk-dev] [PATCH v5 1/4] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2015-10-04 21:12         ` [dpdk-dev] [PATCH v5 2/4] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2015-10-04 21:12         ` [dpdk-dev] [PATCH v5 3/4] ethdev: redesign link speed config API Marc Sune
2015-10-05 10:59           ` Neil Horman
2015-10-07 13:31             ` Marc Sune
2015-10-06 13:48           ` Nélio Laranjeiro
2015-10-07 13:37             ` Marc Sune
2016-01-28 17:33           ` Harish Patil
2016-02-02  2:20             ` Stephen Hemminger
2016-02-02 22:30               ` Marc
2016-02-11 15:27                 ` Nélio Laranjeiro
2016-02-11 23:23                   ` Marc
2015-10-04 21:12         ` [dpdk-dev] [PATCH v5 4/4] doc: update with link changes Marc Sune
2015-10-04 21:21         ` Marc Sune [this message]

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='CA+3n-Tp8nZr0a8QNEn0=AXfRZoV0LYbkyHjEVnrSzYbVeweMTA@mail.gmail.com' \
    --to=marcdevel@gmail.com \
    --cc=dev@dpdk.org \
    /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).