Skip to content

[Ethtool] Backport Ethtool to support QSFP-DD with ARM Failure Fix#7269

Merged
lguohan merged 2 commits intosonic-net:202012from
vivekrnv:202012
Apr 16, 2021
Merged

[Ethtool] Backport Ethtool to support QSFP-DD with ARM Failure Fix#7269
lguohan merged 2 commits intosonic-net:202012from
vivekrnv:202012

Conversation

@vivekrnv
Copy link
Contributor

@vivekrnv vivekrnv commented Apr 8, 2021

The complete description can be found in #7266 (It was for master branch).

Separate PR is made for 202012 since backporting to 202012 by cherry picking wasn't straightforward

Why I did it

How I did it

  1. Reverts the commit which reverted the commit "Backport Ethtool to support QSFP-DD" Commit
  2. Cherry pick the ARM Build Failure Fix onto 202012

How to verify it

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

vivekrnv and others added 2 commits April 8, 2021 19:40
…nic-net#7226)

Compiling ethtool from source is causing ethtool unit tests to fail on ARM Platforms.

These tests are failing: (By default netlink-interface is enabled while compiling ethtool)
Link: ([Test File Link](https://salsa.debian.org/kernel-team/ethtool/-/blob/debian/1%255.9-1/test-cmdline.c#L28))
```
FAIL: test-cmdline
==================

E: ethtool 16_char_devname! returns 1
E: ethtool 
127_char_devname0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcde returns 1
E: ethtool --change devname xcvr external returns 0
E: ethtool --change devname speed 100 duplex half port tp autoneg on advertise 0x1 phyad 1 xcvr external wol p sopass 01:23:45:67:89:ab msglvl 1 returns 0

FAIL test-cmdline (exit status: 1)
```
Tested this on Local ARM Emulated Container:

```
(Docker Container Emulating ARM)
vkarri@3a03c70eed35:/tmp/ethtool$ ./ethtool 16_char_devname!
netlink interface initialization failed, device name longer than 15 not supported
vkarri@3a03c70eed35:/tmp/ethtool$ echo $?
1 (Expected 0)
vkarri@3a03c70eed35:~/ethtool$ ./ethtool 16_char_devnameee
netlink interface initialization failed, device name longer than 15 not supported

Checked for dependencies: (all are present)
vkarri@3a03c70eed35:~/ethtool$ apt-cache policy libmnl0
libmnl0:
  Installed: 1.0.4-2
  Candidate: 1.0.4-2
  Version table:
 *** 1.0.4-2 500
        500 http://deb.debian.org/debian buster/main armhf Packages
        500 http://packages.trafficmanager.net/debian/debian buster/main armhf Packages
        100 /var/lib/dpkg/status

vkarri@3a03c70eed35:~/ethtool$ apt-cache policy libc6  
libc6:
  Installed: 2.28-10
  Candidate: 2.28-10
  Version table:
 *** 2.28-10 500
        500 http://deb.debian.org/debian buster/main armhf Packages
        500 http://packages.trafficmanager.net/debian/debian buster/main armhf Packages
        100 /var/lib/dpkg/status
```

#### How I did it
Disabled netlink-interface for ethtool. 

Even though Netlink is not available, it doesn't seem to impact what ethtool was supposed to do. In fact the older version which was in use before this PR [sonic-net#5725](sonic-net#5725) did not have netlink support and everything seemed to work well

Article on Netlink-Support for ethtool: https://lwn.net/Articles/783633/

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
@liat-grozovik liat-grozovik requested a review from jleveque April 12, 2021 13:58
@liat-grozovik
Copy link
Collaborator

@jleveque this is the same fix as provided in #7226 but against 202012 as it cannot be cherry picked. please help to review.

@lguohan lguohan merged commit fb20fe9 into sonic-net:202012 Apr 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants