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: sta...@dpdk.org
>>
>> Signed-off-by: Andrew Rybchenko <arybche...@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 {
>>
> 

Reply via email to