diff --git a/package/kernel/linux/files/hotplug-mlxsw-spectrum-port-names.sh b/package/kernel/linux/files/hotplug-mlxsw-spectrum-port-names.sh new file mode 100644 index 0000000000..7637725f67 --- /dev/null +++ b/package/kernel/linux/files/hotplug-mlxsw-spectrum-port-names.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +if [ "$ACTION" = "add" ]; then + read -r board_name < "/tmp/sysinfo/board_name" + + if [[ "$board_name" = "mellanox-technologies-ltd-msn*" ]]; then + read -r port_name < "/sys/class/net/$DEVICENAME/phys_port_name" + [ -n "$port_name" ] && ip link set "$DEVICENAME" name "sw$port_name" + fi +fi diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index 0aed1655a9..522e76d180 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -1972,6 +1972,13 @@ define KernelPackage/mlxsw-spectrum/description Spectrum/Spectrum-2/Spectrum-3/Spectrum-4 Ethernet Switch ASICs. endef +define KernelPackage/mlxsw-spectrum/install + $(INSTALL_DIR) $(1)/etc/hotplug.d/net + $(INSTALL_DATA) \ + ./files/hotplug-mlxsw-spectrum-port-names.sh \ + $(1)/etc/hotplug.d/net/10-mlxsw-spectrum-port-names +endef + $(eval $(call KernelPackage,mlxsw-spectrum))