[dpdk-stable] [dpdk-dev] [PATCH] app/testpmd: set fixed flag when exact link speed is chosen

Ferruh Yigit ferruh.yigit at intel.com
Tue Apr 23 17:04:03 CEST 2019


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.
> 
> As long as device speed set correct, I believe the command doesn't really care
> about if link mode is auto-negotiation or not.
> 
> I am for reverting this commit, is there any objection to revert it?

cc'ing Wenjie who reported the issue.

> 
>>
>> Fixes: 88fbedcd5e5a ("app/testpmd: move speed and duplex parsing in a function")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Andrew Rybchenko <arybchenko at 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 {
>>
> 



More information about the stable mailing list