DPDK usage discussions
 help / color / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: "Benoit Ganne (bganne)" <bganne@cisco.com>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] CX4-Lx VF link status in Azure
Date: Wed, 25 Mar 2020 15:48:15 -0700
Message-ID: <20200325154815.13fc7a4e@hermes.lan> (raw)
In-Reply-To: <CH2PR11MB4327898A6961D9BC8A4DA2A3C1CE0@CH2PR11MB4327.namprd11.prod.outlook.com>

On Wed, 25 Mar 2020 19:07:09 +0000
"Benoit Ganne (bganne)" <bganne@cisco.com> wrote:

> Hi all,
> We noticed a problematic behavior when using DPDK in Azure with Mellanox CX4-Lx VFs on Ubuntu 18.04: the link status (link up or down) is never updated - and so for an application trusting the link state reported by DPDK, the link looks unavailable.
> The root cause is mlx5_link_update_unlocked_gs() failing to get the link speed from the Linux driver and always returning EAGAIN because of this test at the end of the function:
>     if (((dev_link.link_speed && !dev_link.link_status) ||
>          (!dev_link.link_speed && dev_link.link_status)))
> Here, dev_link.link_status is correctly set but not dev_link.link_speed.
> The Linux kernel driver does not seem to be able to get the link speed because ethtool also fails to retrieve it from the kernel so the DPDK cannot do any miracle here, but I wonder whether this should prevent to update the other link status information to be correctly updated.
> Any thoughts?
> Thx
> ben

You maybe missing this patch, which is only in current development branch.
Since it is tagged for stable, it should end up in later LTS versions as well 18.11.X and 19.11.X.

commit 047ad3787a2f5d99277e0d8d756580a1d5ea2891
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Fri Feb 7 10:08:16 2020 -0800

    net/netvsc: initialize link state
    If application is using link state interrupt, the correct link state
    needs to be filled in when device is started. This is similar to
    how virtio updates link information.
    Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
    Cc: stable@dpdk.org
    Reported-by: Mohammed Gamal <mgamal@redhat.com>
    Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
    Tested-by: Mohammed Gamal <mgamal@redhat.com>

  parent reply index

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-25 19:07 Benoit Ganne (bganne)
2020-03-25 21:32 ` Stephen Hemminger
2020-03-25 22:48 ` Stephen Hemminger [this message]
2020-03-26 14:26   ` Benoit Ganne (bganne)
2020-03-26 17:57     ` Stephen Hemminger
2020-03-26 18:27       ` Benoit Ganne (bganne)
2020-03-26 18:52         ` Thomas Monjalon
2020-03-26 19:00           ` Benoit Ganne (bganne)
2020-03-26 20:09             ` Mark Bloch
2020-03-26 20:40               ` Thomas Monjalon
2020-03-26 21:31                 ` Thomas Monjalon
2020-03-27 10:02                   ` Benoit Ganne (bganne)
2020-03-27 10:13                     ` Thomas Monjalon
2020-03-27 17:26                       ` Benoit Ganne (bganne)
2020-03-27 22:34                         ` Thomas Monjalon

Reply instructions:

You may reply publically 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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200325154815.13fc7a4e@hermes.lan \
    --to=stephen@networkplumber.org \
    --cc=bganne@cisco.com \
    --cc=users@dpdk.org \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK usage discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
	public-inbox-index users

Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/ public-inbox