DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
	Wenzhuo Lu <wenzhuo.lu@intel.com>,
	 Jingjing Wu <jingjing.wu@intel.com>,
	Bernard Iremonger <bernard.iremonger@intel.com>
Cc: <dev@dpdk.org>, <stable@dpdk.org>,
	"Li, WenjieX A" <wenjiex.a.li@intel.com>,
	Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [dpdk-dev] [PATCH] app/testpmd: set fixed flag when exact link speed is chosen
Date: Tue, 23 Apr 2019 18:44:33 +0300	[thread overview]
Message-ID: <c819bd43-0218-3053-5e89-cfd1bfca186f@solarflare.com> (raw)
Message-ID: <20190423154433.HNu_NDOgjQx2EonZxqsbCeKH_tkNKmPFjTWsNbZjjvA@z> (raw)
In-Reply-To: <0362242f-a51a-b37b-a2e7-61f1c8bbea35@intel.com>

On 4/23/19 6:04 PM, Ferruh Yigit wrote:
> On 4/23/2019 4:02 PM, Ferruh Yigit wrote:
>> On 4/12/2019 2:12 PM, Andrew Rybchenko wrote:
>>> Setting exact link speed makes sense if auto-negotiation is
>>> disabled. Fixed flag is required to disable auto-negotiation.
>> Hi Andrew,
>>
>> Fixed link speed is not supported by all PMDs and this change is breaking them
>> to set the speed in testpmd.

Not all. sfc definitely supports it.
It looks like bnxt, e1000, igb support it as well.

>> As long as device speed set correct, I believe the command doesn't really care
>> about if link mode is auto-negotiation or not.

Sometimes it is really important to disable auto-negotiation.

>> I am for reverting this commit, is there any objection to revert it?
> cc'ing Wenjie who reported the issue.

May be I misunderstood the purpose of the command.
Typically if someone wants to set link speed, it is assumed that
auto-negotiation should be disabled since user specifies what he really 
wants.
Of course, it is still valid request to keep auto-negotiation enabled, but
limit set of advertised speeds (may be keep only one).

So, I'm not happy to revert it completely. There is an option to revert 
to old
behaviour and add optional argument to disable auto-negotiation, but I
can't say that I like it, since it would make sense if the command 
allows more
than one speed to be advertised (to be auto-negotiated). If it is only 
one speed,
the default should be autoneg disabled.

Anyway documentation of the command should be improved.

Andrew.

>>> Fixes: 88fbedcd5e5a ("app/testpmd: move speed and duplex parsing in a function")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>>> ---
>>>   app/test-pmd/cmdline.c | 12 ++++++------
>>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
>>> index 2ab03c111..691d818a6 100644
>>> --- a/app/test-pmd/cmdline.c
>>> +++ b/app/test-pmd/cmdline.c
>>> @@ -1440,17 +1440,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
>>>   			return -1;
>>>   		}
>>>   		if (!strcmp(speedstr, "1000")) {
>>> -			*speed = ETH_LINK_SPEED_1G;
>>> +			*speed = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_FIXED;
>>>   		} else if (!strcmp(speedstr, "10000")) {
>>> -			*speed = ETH_LINK_SPEED_10G;
>>> +			*speed = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_FIXED;
>>>   		} else if (!strcmp(speedstr, "25000")) {
>>> -			*speed = ETH_LINK_SPEED_25G;
>>> +			*speed = ETH_LINK_SPEED_25G | ETH_LINK_SPEED_FIXED;
>>>   		} else if (!strcmp(speedstr, "40000")) {
>>> -			*speed = ETH_LINK_SPEED_40G;
>>> +			*speed = ETH_LINK_SPEED_40G | ETH_LINK_SPEED_FIXED;
>>>   		} else if (!strcmp(speedstr, "50000")) {
>>> -			*speed = ETH_LINK_SPEED_50G;
>>> +			*speed = ETH_LINK_SPEED_50G | ETH_LINK_SPEED_FIXED;
>>>   		} else if (!strcmp(speedstr, "100000")) {
>>> -			*speed = ETH_LINK_SPEED_100G;
>>> +			*speed = ETH_LINK_SPEED_100G | ETH_LINK_SPEED_FIXED;
>>>   		} else if (!strcmp(speedstr, "auto")) {
>>>   			*speed = ETH_LINK_SPEED_AUTONEG;
>>>   		} else {
>>>


  parent reply	other threads:[~2019-04-23 15:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-12 13:12 Andrew Rybchenko
2019-04-12 13:12 ` Andrew Rybchenko
2019-04-12 14:40 ` Iremonger, Bernard
2019-04-12 14:40   ` Iremonger, Bernard
2019-04-16 14:04   ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2019-04-16 14:04     ` Ferruh Yigit
2019-04-23 15:02 ` [dpdk-dev] " Ferruh Yigit
2019-04-23 15:02   ` Ferruh Yigit
2019-04-23 15:04   ` Ferruh Yigit
2019-04-23 15:04     ` Ferruh Yigit
2019-04-23 15:44     ` Andrew Rybchenko [this message]
2019-04-23 15:44       ` Andrew Rybchenko
2019-04-23 15:53       ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2019-04-23 15:53         ` Ferruh Yigit

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=c819bd43-0218-3053-5e89-cfd1bfca186f@solarflare.com \
    --to=arybchenko@solarflare.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=wenjiex.a.li@intel.com \
    --cc=wenzhuo.lu@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).