#!/bin/sh # Copyright (C) 2020 Ycarus (Yannick Chabanois) 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 name ${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