Skip to content

Commit 50e4cc1

Browse files
shlomibittondaall
authored andcommitted
Backport ethtool to support QSFP-DD (#5725)
Backport ethtool debian package version 5.9 to support QSFP-DD cable parsing. Signed-off-by: Shlomi Bitton <[email protected]>
1 parent 4550094 commit 50e4cc1

File tree

6 files changed

+42
-3
lines changed

6 files changed

+42
-3
lines changed

build_debian.sh

-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,6 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
297297
squashfs-tools \
298298
grub2-common \
299299
rsyslog \
300-
ethtool \
301300
screen \
302301
hping3 \
303302
tcptraceroute \

dockers/docker-platform-monitor/Dockerfile.j2

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ RUN apt-get update && \
2222
rrdtool \
2323
python-smbus \
2424
python3-smbus \
25-
ethtool \
2625
dmidecode \
2726
i2c-tools
2827

rules/docker-platform-monitor.mk

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ DOCKER_PLATFORM_MONITOR_DBG = $(DOCKER_PLATFORM_MONITOR_STEM)-$(DBG_IMAGE_MARK).
66

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

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

1111
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY2)
1212
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY3)
@@ -66,4 +66,5 @@ $(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/bin/sensors
6666
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/sbin/smartctl
6767
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/sbin/iSmart
6868
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/sbin/SmartCmd
69+
$(DOCKER_PLATFORM_MONITOR)_BASE_IMAGE_FILES += cmd_wrapper:/usr/bin/ethtool
6970
$(DOCKER_PLATFORM_MONITOR)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)

rules/ethtool.dep

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
SPATH := $($(ETHTOOL)_SRC_PATH)
2+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/ethtool.mk rules/ethtool.dep
3+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
4+
DEP_FILES += $(shell git ls-files $(SPATH))
5+
6+
$(ETHTOOL)_CACHE_MODE := GIT_CONTENT_SHA
7+
$(ETHTOOL)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
8+
$(ETHTOOL)_DEP_FILES := $(DEP_FILES)

rules/ethtool.mk

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# ethtool
2+
3+
ETHTOOL_VERSION_BASE = 5.9
4+
export ETHTOOL_VERSION_BASE
5+
6+
ETHTOOL = ethtool_$(ETHTOOL_VERSION_BASE)-1_amd64.deb
7+
$(ETHTOOL)_SRC_PATH = $(SRC_PATH)/ethtool
8+
SONIC_MAKE_DEBS += $(ETHTOOL)
9+
10+
ETHTOOL_DBG = ethtool-dbgsym_$(ETHTOOL_VERSION_BASE)-1_amd64.deb
11+
$(eval $(call add_extra_package,$(ETHTOOL),$(ETHTOOL_DBG)))
12+
13+
export ETHTOOL ETHTOOL_DBG

src/ethtool/Makefile

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
.ONESHELL:
2+
SHELL = /bin/bash
3+
.SHELLFLAGS += -e
4+
5+
MAIN_TARGET = $(ETHTOOL)
6+
DERIVED_TARGET = $(ETHTOOL_DBG)
7+
8+
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
9+
# Obtaining the ethtool debian package
10+
rm -rf ethtool*
11+
git clone https://salsa.debian.org/kernel-team/ethtool/
12+
pushd ethtool
13+
git checkout tags/debian/1%$(ETHTOOL_VERSION_BASE)-1
14+
# Build package
15+
dpkg-buildpackage -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
16+
popd
17+
mv $(DERIVED_TARGET) $* $(DEST)/
18+
19+
$(addprefix $(DEST)/, $(DERIVED_TARGET)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)

0 commit comments

Comments
 (0)