mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-13 11:01:50 +00:00
71 lines
No EOL
2.7 KiB
Bash
Executable file
71 lines
No EOL
2.7 KiB
Bash
Executable file
#!/bin/sh
|
|
# Copyright (C) 2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
|
|
|
|
[ "$ACTION" = "add" ] || [ "$ACTION" = "bind" ] || exit
|
|
[ -n "${INTERFACE}" ] || exit
|
|
[ -n "${DEVPATH}" ] || exit
|
|
|
|
. /lib/functions.sh
|
|
|
|
_set_intf_name() {
|
|
local intfname=$1
|
|
local device
|
|
local ifname
|
|
config_get device $intfname device
|
|
config_get modalias $intfname modalias
|
|
config_get ifname $intfname ifname
|
|
config_get type $intfname ifname
|
|
if [ "$type" = "tunnel" ] || [ "$type" = "bridge" ]; then
|
|
return
|
|
fi
|
|
[ -n "$modalias" ] && {
|
|
if [ -f /sys/class/net/${INTERFACE}/device/uevent ]; then
|
|
mac=""
|
|
if [ -f /sys/class/net/${INTERFACE}/address ]; then
|
|
mac="$(cat /sys/class/net/${INTERFACE}/address | tr -d '\n')"
|
|
fi
|
|
chk_modalias=$MODALIAS
|
|
[ -z "$chk_modalias" ] && chk_modalias="$(cat /sys/class/net/${INTERFACE}/device/uevent | grep MODALIAS | cut -d '=' -f2 | tr -d '\n')"
|
|
if [ -n "$chk_modalias" ]; then
|
|
chk_modalias="${chk_modalias}-${mac}"
|
|
logger -t "OMR-Rename" "modalias: $modalias - chk_modalias: $chk_modalias - ifname: $ifname - INTERFACE: $INTERFACE"
|
|
if [ "$modalias" = "$chk_modalias" ] && [ "$INTERFACE" != "$ifname" ]; then
|
|
logger -t "OMR-Rename" "Rename ${INTERFACE} to ${ifname}"
|
|
existif="0"
|
|
ip link set ${INTERFACE} down 2>&1 >/dev/null
|
|
[ "$(ip link show ${ifname} 2>/dev/null)" != "" ] && {
|
|
ip link set ${ifname} name ${ifname}tmp 2>&1 >/dev/null
|
|
existif="1"
|
|
}
|
|
ip link set ${INTERFACE} name ${ifname} 2>&1 >/dev/null
|
|
ip link set ${ifname} up 2>&1 >/dev/null
|
|
[ "$existif" = "1" ] && ip link set ${ifname}tmp ${INTERFACE} 2>&1 >/dev/null
|
|
fi
|
|
fi
|
|
elif [ -f /dev/${DEVICE_NAME} ] && [ -n "$MODALIAS" ] && [ "$modalias" = "$MODALIAS" ]; then
|
|
if [ "$device" != "/dev/${DEVICE_NAME}" ]; then
|
|
ln -s /dev/${DEVICE_NAME} /dev/$intfname
|
|
uci -q set network.${intfname}.device="/dev/${intfname}"
|
|
fi
|
|
fi
|
|
}
|
|
[ -z "$modalias" ] && [ -n "$device" ] && [ -n "$ifname" ] && [ "/sys${DEVPATH}" = "$device" ] && [ "$INTERFACE" != "$ifname" ] && {
|
|
logger -t "OMR-Rename" "device: $device - devpath: $DEVPATH - ifname: $ifname - INTERFACE: $INTERFACE"
|
|
logger -t "OMR-Rename" "Rename ${INTERFACE} to ${ifname}"
|
|
ip link set ${INTERFACE} down 2>&1 >/dev/null
|
|
existif="0"
|
|
[ "$(ip link show ${ifname} 2>/dev/null)" != "" ] && {
|
|
ip link set ${ifname} name ${ifname}tmp 2>&1 >/dev/null
|
|
existif="1"
|
|
}
|
|
ip link set ${INTERFACE} name ${ifname} 2>&1 >/dev/null
|
|
ip link set ${ifname} up 2>&1 >/dev/null
|
|
[ "$existif" = "1" ] && ip link set ${ifname}tmp ${INTERFACE} 2>&1 >/dev/null
|
|
}
|
|
}
|
|
|
|
if [ "$(uci -q get openmptcprouter.settings.disableintfrename)" != "1" ]; then
|
|
config_load network
|
|
config_foreach _set_intf_name interface
|
|
# config_foreach _set_intf_name interface
|
|
fi |