mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			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 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
 |