All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>
To: Marc Sune <marcdevel@gmail.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API
Date: Wed, 9 Mar 2016 11:09:07 +0100	[thread overview]
Message-ID: <20160309100907.GO27714@autoinstall.dev.6wind.com> (raw)
In-Reply-To: <20160309092938.GN27714@autoinstall.dev.6wind.com>

On Wed, Mar 09, 2016 at 10:29:38AM +0100, Nélio Laranjeiro wrote:
> On Tue, Mar 08, 2016 at 05:53:05PM +0100, Nélio Laranjeiro wrote:
> > On Tue, Mar 08, 2016 at 04:00:29PM +0100, Marc Sune wrote:
> > > 2016-03-01 1:45 GMT+01: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).
> > > > Reviewing
> > > > and testing required by PMD maintainers.
> > > >
> > > > * * * * *
> > > >
> > > > 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.
> > > >
> > > > v6: Move link_duplex to be part of bitfield. Fixed i40 autoneg flag link
> > > >     update code. Added rte_eth_speed_to_bm_flag() to .map file. Fixed other
> > > >     spelling issues. Rebased to current HEAD.
> > > >
> > > > v7: Rebased to current HEAD. Moved documentation to v2.3. Still needs
> > > > testing
> > > >     from PMD maintainers.
> > > >
> > > > v8: Rebased to current HEAD. Modified em driver impl. to not touch base
> > > > files.
> > > >     Merged patch 5 into 3 (map file). Changed numeric speed to a 64 bit
> > > > value.
> > > >     Filled-in speed capabilities for drivers bnx2x, cxgbe, mlx5 and nfp in
> > > >     addition to the ones of previous patch sets.
> > > >
> > > > v9: rebased to current HEAD. Reverted numeric speed to 32 bit in struct
> > > >     rte_eth_link (no atomic link get > 64bit). Fixed mlx5 driver
> > > > compilation
> > > >     and link speeds. Moved documentation to release_16_04.rst and fixed
> > > > several
> > > >     issues. Upgrade NIC notes with speed capabilities.
> > > >
> > > 
> > > Anyone interested in reviewing and _testing_ this series?
> > > 
> > > Thank you
> > > Marc
> > 
> > Hi Marc,
> > 
> > I will take a look tomorrow morning and run test on Mellanox NICs
> > (ConnectX 3 and 4).
> > 
> > I do not have access to the others NICs, if those who have can do
> > it, could be really great.
> > 
> > Regards,
> 
> It works as expected with Mellanox NICs.
> 
> Regards,
> 
> -- 
> Nélio Laranjeiro
> 6WIND

Tested-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

- OS/Kernel: Debian 8/3.16.0-4-amd64
- GCC: gcc (Debian 4.9.2-10) 4.9.2
- CPU: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
- MLNX OFED: 3.2-2.0.0.0
- NIC: ConnectX 4 100G

- OS/Kernel: Debian 7/3.16.0-0.bpo.4-amd64
- GCC: gcc (Debian 4.7.2-5) 4.7.2
- CPU: Intel(R) Xeon(R) CPU E5-2648L 0 @ 1.80GHz
- MLNX OFED: 3.2-2.0.0.0
- NIC: ConnectX 3 Pro


1. Link displayed at the correct negotiated speed:
   - 40Gbps for ConnectX3 Pro
   - 100Gbps for ConnectX4 100G
   - 40Gbps for ConnectX4 100G on a 40G link.

2. Configuring speed:
   - Not supported yet for Mellanox as expected.

-- 
Nélio Laranjeiro
6WIND

  reply	other threads:[~2016-03-09 10:09 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1443993003-1059-1-git-send-email-marcdevel@gmail.com>
2015-10-25 21:59 ` [PATCH v6 0/5] ethdev: add speed capabilities and refactor link API Marc Sune
2015-10-25 21:59   ` [PATCH v6 1/5] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2015-11-01 22:11     ` Thomas Monjalon
2015-11-18 23:08       ` Marc Sune
2015-10-25 21:59   ` [PATCH v6 2/5] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2015-10-25 21:59   ` [PATCH v6 3/5] ethdev: redesign link speed config API Marc Sune
2015-10-25 22:03     ` Marc Sune
2015-11-01 22:16     ` Thomas Monjalon
2015-11-18 22:59       ` Marc Sune
2015-10-25 21:59   ` [PATCH v6 4/5] doc: update with link changes Marc Sune
2015-10-25 22:00   ` [PATCH v6 5/5] ethdev: add rte_eth_speed_to_bm_flag() to ver. map Marc Sune
2015-12-16 20:37   ` [PATCH v6 0/5] ethdev: add speed capabilities and refactor link API Marc Sune
2015-12-16 20:44     ` Olga Shern
2016-01-29  0:42   ` [PATCH v7 " Marc Sune
2016-01-29  0:42     ` [PATCH v7 1/5] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2016-01-29  0:42     ` [PATCH v7 2/5] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2016-01-29  0:42     ` [PATCH v7 3/5] ethdev: redesign link speed config API Marc Sune
2016-01-29  9:24       ` Ananyev, Konstantin
2016-01-29  9:37         ` Thomas Monjalon
2016-01-29  9:47           ` Ananyev, Konstantin
2016-01-29  9:53             ` Thomas Monjalon
2016-01-29 10:17               ` Ananyev, Konstantin
2016-01-29 12:40                 ` Marc
2016-02-01  0:40                 ` Zhang, Helin
2016-02-02  0:04                   ` Marc
2016-02-02  0:45                     ` FW: " Zhang, Helin
2016-01-29 16:16       ` Nélio Laranjeiro
2016-01-31 21:24         ` Marc
2016-01-29  0:42     ` [PATCH v7 4/5] doc: update with link changes Marc Sune
2016-01-29  0:42     ` [PATCH v7 5/5] ethdev: add rte_eth_speed_to_bm_flag() to ver. map Marc Sune
2016-01-29 13:05       ` Panu Matilainen
2016-01-31 21:21         ` Marc
2016-02-14 22:17     ` [PATCH v8 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2016-02-14 22:17       ` [PATCH v8 1/4] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2016-02-16 20:42         ` Stephen Hemminger
2016-02-14 22:17       ` [PATCH v8 2/4] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2016-02-15  8:43         ` Nélio Laranjeiro
2016-02-15  9:17           ` Chen, Jing D
2016-02-15 14:43         ` Rahul Lakkireddy
2016-02-15 17:14           ` Marc
2016-02-16 15:25             ` Nélio Laranjeiro
2016-02-16 22:49               ` Marc
2016-02-14 22:17       ` [PATCH v8 3/4] ethdev: redesign link speed config API Marc Sune
2016-02-15  8:46         ` Nélio Laranjeiro
2016-02-15 11:00           ` Marc
2016-02-15 11:39             ` Olga Shern
2016-02-16 10:28         ` Matej Vido
2016-02-16 22:55           ` Marc
2016-02-14 22:17       ` [PATCH v8 4/4] doc: update with link changes Marc Sune
2016-02-18 18:14         ` Mcnamara, John
2016-02-28 22:17           ` Marc
2016-03-01  0:45       ` [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2016-03-01  0:45         ` [PATCH v9 1/4] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2016-03-01  0:45         ` [PATCH v9 2/4] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2016-03-01  0:45         ` [PATCH v9 3/4] ethdev: redesign link speed config API Marc Sune
2016-03-09  8:45           ` Nélio Laranjeiro
2016-03-09 10:09             ` Marc
2016-03-09 10:20               ` Nélio Laranjeiro
2016-03-01  0:45         ` [PATCH v9 4/4] doc: update with link changes Marc Sune
2016-03-08 15:00         ` [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2016-03-08 16:53           ` Nélio Laranjeiro
2016-03-09  9:29             ` Nélio Laranjeiro
2016-03-09 10:09               ` Nélio Laranjeiro [this message]
2016-03-09 20:57                 ` Marc
2016-03-14 21:55         ` [PATCH v10 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 1/8] ethdev: use constants for link state Thomas Monjalon
2016-03-15  1:26             ` Zhang, Helin
2016-03-14 21:55           ` [PATCH v10 2/8] ethdev: use constants for link duplex Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 3/8] app/testpmd: move speed and duplex parsing in a function Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 4/8] ethdev: rename link speed constants Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 5/8] ethdev: add speed capabilities Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 6/8] ethdev: redesign link speed config Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 7/8] ethdev: convert speed number to bitmap flag Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 8/8] ethdev: add 100G link speed Thomas Monjalon
2016-03-15  0:04           ` [PATCH v10 0/8] ethdev: 100G and link speed API refactoring Matej Vido
2016-03-15  7:12             ` Thomas Monjalon
2016-03-15  7:45               ` Matej Vido
2016-03-15  8:38           ` Nélio Laranjeiro
2016-03-15 13:12           ` [PATCH 0/4] szedata2: " Matej Vido
2016-03-15 13:12             ` [PATCH 1/4] szedata2: use constants for link state Matej Vido
2016-03-15 13:12             ` [PATCH 2/4] szedata2: rename link speed constants Matej Vido
2016-03-15 13:12             ` [PATCH 3/4] szedata2: redesign link speed config Matej Vido
2016-03-15 13:12             ` [PATCH 4/4] szedata2: add 100G link speed Matej Vido
2016-03-15 13:41               ` Thomas Monjalon
2016-03-15 13:47                 ` Matej Vido
2016-03-15 13:50                 ` Matej Vido
2016-03-15 20:51                   ` Thomas Monjalon
2016-03-17 18:08           ` [PATCH v11 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-17 18:08             ` [PATCH v11 1/8] ethdev: use constants for link state Thomas Monjalon
2016-03-17 18:08             ` [PATCH v11 2/8] ethdev: use constants for link duplex Thomas Monjalon
2016-03-23  2:44               ` Zhang, Helin
2016-03-23  8:34                 ` Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 3/8] app/testpmd: move speed and duplex parsing in a function Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 4/8] ethdev: rename link speed constants Thomas Monjalon
2016-03-23  2:52               ` Zhang, Helin
2016-03-23  8:31                 ` Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 5/8] ethdev: add speed capabilities Thomas Monjalon
2016-03-18  5:18               ` Chen, Jing D
2016-03-18  8:06                 ` Thomas Monjalon
2016-03-18  9:28               ` Adrien Mazarguil
2016-03-18 10:12                 ` Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 6/8] ethdev: redesign link speed config Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 7/8] ethdev: convert speed number to bitmap flag Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 8/8] ethdev: add 100G link speed Thomas Monjalon
2016-03-22 19:58             ` [PATCH v11 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-23  1:18               ` Xu, Qian Q
2016-03-23  8:39                 ` Thomas Monjalon
2016-03-23 20:54                 ` Marc
2016-03-24  6:21                   ` Xu, Qian Q
2016-03-24  7:47                     ` Marc
2016-03-25  1:02                       ` Xu, Qian Q
2016-03-25  9:35                         ` Thomas Monjalon
2016-03-25 15:07                           ` Zhang, Helin
2016-03-25 15:32                             ` Thomas Monjalon
2016-03-25 20:41                             ` Marc
2016-03-25 21:30                               ` Marc
2016-03-26  1:25                                 ` Marc
2016-03-26  8:08                                 ` Thomas Monjalon
2016-03-26 10:24                                   ` Marc
2016-03-27  9:53                                     ` Thomas Monjalon
2016-03-27 19:39                                       ` Marc
2016-03-28 13:42                                         ` Thomas Monjalon
2016-03-28 19:11                                           ` Marc
2016-03-24 17:32             ` Matej Vido
2016-03-25 19:42             ` [PATCH v12 " Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 1/8] ethdev: use constants for link state Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 2/8] ethdev: use constants for link duplex Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 3/8] app/testpmd: move speed and duplex parsing in a function Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 4/8] ethdev: rename link speed constants Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 5/8] ethdev: add speed capabilities Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 6/8] ethdev: redesign link speed config Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 7/8] ethdev: convert speed number to bitmap flag Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 8/8] ethdev: add 100G link speed Thomas Monjalon
2016-03-26  1:27               ` [PATCH v13 0/8] ethdev: 100G and link speed API refactoring Marc Sune
2016-03-26  1:27                 ` [PATCH v13 1/8] ethdev: use constants for link state Marc Sune
2016-03-26  1:27                 ` [PATCH v13 2/8] ethdev: use constants for link duplex Marc Sune
2016-03-26  1:27                 ` [PATCH v13 3/8] app/testpmd: move speed and duplex parsing in a function Marc Sune
2016-03-26  1:27                 ` [PATCH v13 4/8] ethdev: rename link speed constants Marc Sune
2016-04-06  8:34                   ` Weglicki, MichalX
2016-04-06  8:52                     ` Thomas Monjalon
2016-04-06  9:16                       ` Weglicki, MichalX
2016-04-06  9:34                         ` Thomas Monjalon
2016-03-26  1:27                 ` [PATCH v13 5/8] ethdev: add speed capabilities Marc Sune
2016-03-29 13:31                   ` Alejandro Lucero
2016-03-30  8:06                     ` Marc
2016-03-26  1:27                 ` [PATCH v13 6/8] ethdev: redesign link speed config Marc Sune
2016-03-29  6:18                   ` Xing, Beilei
2016-03-30  7:59                     ` Marc
2016-03-31  0:57                       ` Xing, Beilei
2016-03-31 12:28                         ` Thomas Monjalon
2016-04-01  9:53                           ` Xing, Beilei
2016-03-26  1:27                 ` [PATCH v13 7/8] ethdev: convert speed number to bitmap flag Marc Sune
2016-03-26  1:27                 ` [PATCH v13 8/8] ethdev: add 100G link speed Marc Sune
2016-03-26  8:11                 ` [PATCH v13 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-31 16:17                   ` Adrien Mazarguil
2016-03-30  9:23                 ` Thomas Monjalon
2016-03-31  6:25                   ` Lu, Wenzhuo
2016-03-31 22:12                 ` [PATCH v14 " Marc Sune
2016-03-31 22:12                   ` [PATCH v14 1/8] ethdev: use constants for link state Marc Sune
2016-03-31 22:12                   ` [PATCH v14 2/8] ethdev: use constants for link duplex Marc Sune
2016-03-31 22:12                   ` [PATCH v14 3/8] app/testpmd: move speed and duplex parsing in a function Marc Sune
2016-03-31 22:12                   ` [PATCH v14 4/8] ethdev: rename link speed constants Marc Sune
2016-03-31 22:12                   ` [PATCH v14 5/8] ethdev: add speed capabilities Marc Sune
2016-03-31 22:12                   ` [PATCH v14 6/8] ethdev: redesign link speed config Marc Sune
2016-03-31 22:12                   ` [PATCH v14 7/8] ethdev: convert speed number to bitmap flag Marc Sune
2016-03-31 22:12                   ` [PATCH v14 8/8] ethdev: add 100G link speed Marc Sune
2016-04-01 19:38                   ` [PATCH v14 0/8] ethdev: 100G and link speed API refactoring 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=20160309100907.GO27714@autoinstall.dev.6wind.com \
    --to=nelio.laranjeiro@6wind.com \
    --cc=dev@dpdk.org \
    --cc=marcdevel@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.