1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
openmptcprouter-feeds/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename

64 lines
2.2 KiB
Text
Raw Normal View History

2020-07-03 17:12:42 +00:00
#!/bin/sh
# Copyright (C) 2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
2020-09-04 19:56:50 +00:00
[ "$ACTION" = "add" ] || [ "$ACTION" = "bind" ] || exit
2020-07-03 17:12:42 +00:00
[ -n "${INTERFACE}" ] || exit
[ -n "${DEVPATH}" ] || exit
. /lib/functions.sh
_set_intf_name() {
local intfname=$1
local device
local ifname
config_get device $intfname device
2020-09-04 19:56:50 +00:00
config_get modalias $intfname modalias
2020-07-03 17:12:42 +00:00
config_get ifname $intfname ifname
config_get type $intfname ifname
if [ "$type" = "tunnel" ] || [ "$type" = "bridge" ]; then
return
fi
2020-09-04 19:56:50 +00:00
[ -n "$modalias" ] && {
if [ -f /sys/class/net/${INTERFACE}/device/uevent ]; then
chk_modalias=$MODALIAS
2020-11-03 20:33:09 +00:00
[ -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
logger -t "OMR-Rename" "dir: $i - 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
[ "$(ip link show ${ifname} 2>/dev/null)" != "" ] && {
ip link set ${ifname} name ${ifname}tmp
existif=1
}
ip link set ${INTERFACE} name ${ifname}
ip link set ${ifname} up
[ "$existif" = "1" ] && ip link set ${ifname}tmp ${$INTERFACE}
fi
2020-11-13 14:44:33 +00:00
fi
2020-11-03 20:33:09 +00:00
elif [ -f /dev/${DEVICE_NAME} ] && [ -n "$MODALIAS" ] && [ "$modalias" = "$MODALIAS" ]; then
2020-09-04 19:56:50 +00:00
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" ] && {
2020-07-03 17:12:42 +00:00
logger -t "OMR-Rename" "Rename ${INTERFACE} to ${ifname}"
ip link set ${INTERFACE} down
2020-09-04 19:56:50 +00:00
existif=0
[ "$(ip link show ${ifname} 2>/dev/null)" != "" ] && {
ip link set ${ifname} name ${ifname}tmp
existif=1
}
2020-07-03 17:12:42 +00:00
ip link set ${INTERFACE} name ${ifname}
ip link set ${ifname} up
2020-09-04 19:56:50 +00:00
[ "$existif" = "1" ] && ip link set ${ifname}tmp ${$INTERFACE}
2020-07-03 17:12:42 +00:00
}
}
config_load network
config_foreach _set_intf_name interface
2020-09-04 19:56:50 +00:00
config_foreach _set_intf_name interface