-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport ethtool to support QSFP-DD #5725
Backport ethtool to support QSFP-DD #5725
Conversation
retest this please |
retest vsimage please |
Retest baseimage please |
retest mellanox please |
@jleveque could you please review? |
build_debian.sh
Outdated
@@ -318,6 +317,14 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in | |||
haveged \ | |||
jq | |||
|
|||
|
|||
# Build ethtool package for generic platform |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why build only for generic platform?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jleveque on the Makefile it is configured to add this binary to SONIC_MAKE_FILES, for all other platforms it is ok and the binary is built.
For generic platform it is not, so in case we build it as generic we need to force it to make the binary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lguohan: Does this seem like the proper approach here? Is there a cleaner method to get this installed in the generic image?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lguohan can you please review so we can merge? this is needed for 202012 so better to have it done soon |
retest vsimage please |
@shlomibitton, @liat-grozovik: One question: we were previously installing a Debian package, but with this PR we're only copying the binary. Are we sure we're not missing any files with this approach? E.g., bash-completion files, etc.? |
@jleveque no additional files are required, the tool works very well from my testing. |
@lguohan - Can you please review ? Thnx |
@jleveque , please take a look? |
@daall - Can you please merge to 202012 ? Thanks, |
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing. Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
) 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 [#5725](#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>
…sonic-net#5725)" This reverts commit a86cdd8.
…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>
) 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 [#5725](#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>
Commit: 50e4cc1 Backport ethtool to support QSFP-DD (sonic-net#5725) Using Diff from Last Merge i.e. below commit: 6aef4d3 (HEAD) Merge branch 'dev_3.0' of ssh://git.corp.linkedin.com:29418/sonic/sonic-buildimage into MERGE_201911_0824 diff from 4810db8 [monit]: monit_telemetry which will have error when telemetry is in secure mode (sonic-net#4286) Signed-off-by: svc-lnos-user <svc-lnos-user@linkedin.com> Signed-off-by: Praveen Chaudhary <pchaudhary@linkedin.com> RB= G=lnos-reviewers R=pchaudhary,pmao,samaity,zxu A= RB= G=lnos-reviewers R=pchaudhary,pmao,samaity,zxu A= Changes to be committed: new file: .reviewboardrc new file: acl/main.acl modified: build_debian.sh modified: device/celestica/x86_64-cel_e1031-r0/installer.conf new file: device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-50-40/th-seastone-dx010-32x50G-16x100G.config.bcm new file: device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-50-50-40/th-seastone-dx010-48x50G-8x100G.config.bcm modified: device/celestica/x86_64-cel_seastone-r0/th-seastone-dx010-config-flex-all.bcm new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/buffers.json.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/buffers_defaults_def_lossy.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/buffers_defaults_t1.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/inno.config.yaml new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/innovium.77700_B new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/pg_profile_lookup.ini new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/pltfm.profile new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/port_config.ini new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/qos.json.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/qos_defaults_def_lossy.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/qos_defaults_t1.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/sai.profile new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32C/utopias_32x100.config.yaml new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/buffers.json.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/buffers_defaults_def_lossy.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/buffers_defaults_t1.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/config_db.json new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/inno.config.yaml new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/innovium.77700_A new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/pg_profile_lookup.ini new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/pltfm.profile new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/port_config.ini new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/qos.json.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/qos_defaults_def_lossy.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/qos_defaults_t1.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/sai.profile new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-32d/utopias_p3b.config.yaml new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/buffers.json.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/buffers_defaults_def_lossy.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/buffers_defaults_t1.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/config_db.json new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/inno.config.yaml new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/innovium.77700_B new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/pg_profile_lookup.ini new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/pltfm.profile new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/port_config.ini new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/qos.json.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/qos_defaults_def_lossy.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/qos_defaults_t1.j2 new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/sai.profile new file: device/cisco/x86_64-cisco_N3K_C3432D/Nexus-C3432D-brk/utopias_128x100.config.yaml new file: device/cisco/x86_64-cisco_N3K_C3432D/default_sku new file: device/cisco/x86_64-cisco_N3K_C3432D/installer.conf new file: device/cisco/x86_64-cisco_N3K_C3432D/plugins/eeprom.py new file: device/cisco/x86_64-cisco_N3K_C3432D/plugins/led_control.py new file: device/cisco/x86_64-cisco_N3K_C3432D/plugins/psuutil.py new file: device/cisco/x86_64-cisco_N3K_C3432D/plugins/qsfpdd.py new file: device/cisco/x86_64-cisco_N3K_C3432D/plugins/sfputil.py new file: device/cisco/x86_64-cisco_N3K_C3432D/sensors.conf new file: device/cisco/x86_64-cisco_N3K_C3432D/topo.conf new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-100/port_config.ini new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-100/sai.profile new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-100/th-cisco-3232c-32x100G.config.bcm new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-25-50/port_config.ini new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-25-50/sai.profile new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-25-50/th-cisco-3232c-96x25G-16x50G.config.bcm new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-50/port_config.ini new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-50/sai.profile new file: device/cisco/x86_64-n3200-r0/Cisco-3232C-50/th-cisco-3232c-64x50G.config.bcm new file: device/cisco/x86_64-n3200-r0/installer.conf new file: device/cisco/x86_64-n3200-r0/plugins/eeprom.py new file: device/cisco/x86_64-n3200-r0/plugins/led_control.py new file: device/cisco/x86_64-n3200-r0/plugins/psuutil.py new file: device/cisco/x86_64-n3200-r0/plugins/sfputil.py new file: device/cisco/x86_64-n3200-r0/sensors.conf new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-100/port_config.ini new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-100/sai.profile new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-100/th-open19-bolt-32x100G.config.bcm new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-100/port_config.ini new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-100/sai.profile new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-100/th-open19-bolt-96x25G-8x100G.config.bcm new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-50/hwsku.json new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-50/port_config.ini new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-50/sai.profile new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-50/th-open19-bolt-96x25G-16x50G.config.bcm new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-50-100/port_config.ini new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-50-100/sai.profile new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-50-100/th-open19-bolt-48x50G-8x100G.config.bcm new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-50-50/port_config.ini new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-50-50/sai.profile new file: device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-50-50/th-open19-bolt-48x50G-16x50G.config.bcm new file: device/linkedin/x86_64-flex_bolthawk-r0/i2c_init.sh new file: device/linkedin/x86_64-flex_bolthawk-r0/installer.conf new file: device/linkedin/x86_64-flex_bolthawk-r0/led-code/ledcode0 new file: device/linkedin/x86_64-flex_bolthawk-r0/led_proc_init.soc new file: device/linkedin/x86_64-flex_bolthawk-r0/platform.json new file: device/linkedin/x86_64-flex_bolthawk-r0/plugins/eeprom.py new file: device/linkedin/x86_64-flex_bolthawk-r0/plugins/helper_data.json new file: device/linkedin/x86_64-flex_bolthawk-r0/plugins/sensorutil.py new file: device/linkedin/x86_64-flex_bolthawk-r0/plugins/sfputil.py new file: device/linkedin/x86_64-flex_bolthawk-r0/plugins/urlheader.py new file: device/linkedin/x86_64-flex_bolthawk-r0/th-open19-bolt-flex-all.config.bcm new file: device/linkedin/x86_64-open19_bolt-r0 new file: device/linkedin/x86_64-qwave_bolt_uefi-r0 modified: dockers/docker-base/Dockerfile.j2 modified: dockers/docker-fpm-quagga/supervisord.conf modified: dockers/docker-router-advertiser/docker-init.sh modified: dockers/docker-router-advertiser/radvd.conf.j2 modified: dockers/docker-sonic-telemetry/Dockerfile.j2 new file: dockers/docker-sonic-telemetry/node_exporter.sh modified: dockers/docker-sonic-telemetry/start.sh modified: dockers/docker-sonic-telemetry/supervisord.conf modified: files/build_templates/docker_image_ctl.j2 modified: files/build_templates/organization_extensions.sh modified: files/build_templates/sonic_debian_extension.j2 modified: files/image_config/bash/bash.bashrc modified: files/image_config/interfaces/interfaces.j2 modified: files/image_config/rsyslog/rsyslog.conf.j2 modified: files/scripts/arp_update modified: installer/x86_64/install.sh modified: platform/broadcom/docker-syncd-brcm/Dockerfile.j2 modified: platform/broadcom/docker-syncd-brcm/start.sh modified: platform/broadcom/docker-syncd-brcm/supervisord.conf modified: platform/broadcom/one-image.mk new file: platform/broadcom/platform-modules-linkedin.mk new file: platform/broadcom/platform-modules-n9200.mk modified: platform/broadcom/rules.mk new file: platform/broadcom/sonic-platform-modules-linkedin/LICENSE new file: platform/broadcom/sonic-platform-modules-linkedin/README.md new file: platform/broadcom/sonic-platform-modules-linkedin/bolt-cel new file: platform/broadcom/sonic-platform-modules-linkedin/bolt-flex-old new file: platform/innovium/docker-orchagent-invm.mk new file: platform/innovium/platform-modules-cisco.mk modified: platform/vs/docker-sonic-vs/Dockerfile.j2 new file: release_version.json modified: rules/config modified: rules/docker-telemetry.mk modified: rules/sonic-utilities.mk modified: rules/telemetry.mk modified: slave.mk modified: sonic-slave-stretch/Dockerfile.j2 modified: src/sonic-config-engine/minigraph.py modified: src/sonic-device-data/tests/permitted_list new file: src/sonic-device-data/tests/platformJson_checker new file: src/wpasupplicant/sonic-wpa-supplicant Conflicts: .reviewboardrc acl/ build_debian.sh.rej device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-50-40/th-seastone-dx010-32x50G-16x100G.config.bcm device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-50-50-40/th-seastone-dx010-48x50G-8x100G.config.bcm device/cisco/ device/linkedin/ dockers/docker-router-advertiser/docker-init.sh.rej dockers/docker-sonic-telemetry/node_exporter.sh files/build_templates/docker_image_ctl.j2.rej files/build_templates/sonic_debian_extension.j2.rej files/image_config/interfaces/interfaces.j2.rej files/image_config/logrotate/logrotate.d/rsyslog.rej files/image_config/rsyslog/rsyslog.d/00-sonic.conf.rej files/scripts/arp_update.rej platform/broadcom/docker-syncd-brcm/Dockerfile.j2.rej platform/broadcom/platform-modules-linkedin.mk platform/broadcom/platform-modules-n9200.mk platform/broadcom/sai.mk.rej platform/broadcom/sonic-platform-modules-linkedin/ platform/innovium/docker-orchagent-invm.mk platform/innovium/platform-modules-cisco.mk platform/vs/docker-sonic-vs.mk.rej platform/vs/docker-sonic-vs/Dockerfile.j2.rej platform/vs/docker-sonic-vs/start.sh.rej release_version.json rules/config.rej rules/docker-telemetry.mk.rej rules/sonic-platform-common.mk.rej rules/sonic-utilities.mk.rej rules/sonic-yang-mgmt-py2.mk rules/telemetry.mk.rej slave.mk.rej sonic-slave-jessie/Dockerfile.j2.rej sonic-slave-stretch/Dockerfile.j2.rej src/sonic-config-engine/minigraph.py.rej src/sonic-config-engine/portconfig.py.rej src/sonic-config-engine/sonic-cfggen.rej src/sonic-device-data/src/Makefile.rej src/sonic-device-data/tests/media_checker.rej src/sonic-device-data/tests/permitted_list.rej src/sonic-device-data/tests/platformJson_checker src/wpasupplicant/
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing. Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
…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>
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing. Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
…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>
Signed-off-by: Shlomi Bitton shlomibi@nvidia.com
- Why I did it
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing.
- How I did it
- How to verify it
Build the image with this commit.
try to parse a QSFP-DD cable with the tool - "ethtool -m sfp#"
- Which release branch to backport (provide reason below if selected)
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)