Skip to content

Commit

Permalink
Backport ethtool to support QSFP-DD (sonic-net#5725)
Browse files Browse the repository at this point in the history
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing.

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
  • Loading branch information
shlomibitton authored and daall committed Mar 19, 2021
1 parent 4550094 commit 50e4cc1
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 3 deletions.
1 change: 0 additions & 1 deletion build_debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,6 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
squashfs-tools \
grub2-common \
rsyslog \
ethtool \
screen \
hping3 \
tcptraceroute \
Expand Down
1 change: 0 additions & 1 deletion dockers/docker-platform-monitor/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ RUN apt-get update && \
rrdtool \
python-smbus \
python3-smbus \
ethtool \
dmidecode \
i2c-tools

Expand Down
3 changes: 2 additions & 1 deletion rules/docker-platform-monitor.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ DOCKER_PLATFORM_MONITOR_DBG = $(DOCKER_PLATFORM_MONITOR_STEM)-$(DBG_IMAGE_MARK).

$(DOCKER_PLATFORM_MONITOR)_PATH = $(DOCKERS_PATH)/$(DOCKER_PLATFORM_MONITOR_STEM)

$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS) $(FANCONTROL) $(SENSORD) $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON) $(PYTHON3_SWSSCOMMON) $(SMARTMONTOOLS)
$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS) $(FANCONTROL) $(SENSORD) $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON) $(PYTHON3_SWSSCOMMON) $(SMARTMONTOOLS) $(ETHTOOL)

$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY2)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY3)
Expand Down Expand Up @@ -66,4 +66,5 @@ $(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/bin/sensors
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/sbin/smartctl
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/sbin/iSmart
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/sbin/SmartCmd
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/bin/ethtool
$(DOCKER_PLATFORM_MONITOR)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)
8 changes: 8 additions & 0 deletions rules/ethtool.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SPATH := $($(ETHTOOL)_SRC_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/ethtool.mk rules/ethtool.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
DEP_FILES += $(shell git ls-files $(SPATH))

$(ETHTOOL)_CACHE_MODE := GIT_CONTENT_SHA
$(ETHTOOL)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(ETHTOOL)_DEP_FILES := $(DEP_FILES)
13 changes: 13 additions & 0 deletions rules/ethtool.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# ethtool

ETHTOOL_VERSION_BASE = 5.9
export ETHTOOL_VERSION_BASE

ETHTOOL = ethtool_$(ETHTOOL_VERSION_BASE)-1_amd64.deb
$(ETHTOOL)_SRC_PATH = $(SRC_PATH)/ethtool
SONIC_MAKE_DEBS += $(ETHTOOL)

ETHTOOL_DBG = ethtool-dbgsym_$(ETHTOOL_VERSION_BASE)-1_amd64.deb
$(eval $(call add_extra_package,$(ETHTOOL),$(ETHTOOL_DBG)))

export ETHTOOL ETHTOOL_DBG
19 changes: 19 additions & 0 deletions src/ethtool/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.ONESHELL:
SHELL = /bin/bash
.SHELLFLAGS += -e

MAIN_TARGET = $(ETHTOOL)
DERIVED_TARGET = $(ETHTOOL_DBG)

$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
# Obtaining the ethtool debian package
rm -rf ethtool*
git clone https://salsa.debian.org/kernel-team/ethtool/
pushd ethtool
git checkout tags/debian/1%$(ETHTOOL_VERSION_BASE)-1
# Build package
dpkg-buildpackage -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
popd
mv $(DERIVED_TARGET) $* $(DEST)/

$(addprefix $(DEST)/, $(DERIVED_TARGET)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)

0 comments on commit 50e4cc1

Please sign in to comment.