37 lines
		
	
	
		
			589 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			589 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# Break recursion
 | 
						|
[ "$PROTO" = "relay" ] && exit 0
 | 
						|
 | 
						|
include /lib/network
 | 
						|
scan_interfaces
 | 
						|
 | 
						|
restart_relayd() {
 | 
						|
	local cfg="$1"
 | 
						|
	
 | 
						|
	local proto
 | 
						|
	config_get proto "$1" proto
 | 
						|
	[ "$proto" = "relay" ] || return 0
 | 
						|
 | 
						|
	local net networks
 | 
						|
	config_get networks "$cfg" network
 | 
						|
	for net in $networks; do
 | 
						|
		[ "$net" = "$INTERFACE" ] && {
 | 
						|
			env -i /sbin/ifup "$cfg" &
 | 
						|
			return 0
 | 
						|
		}
 | 
						|
	done
 | 
						|
 | 
						|
	local ifn ifnames
 | 
						|
	config_get ifnames "$cfg" ifname
 | 
						|
	for ifn in $ifnames; do
 | 
						|
		[ "$ifn" = "$DEVICE" ] && {
 | 
						|
			env -i /sbin/ifup "$cfg" &
 | 
						|
			return 0
 | 
						|
		}
 | 
						|
	done
 | 
						|
}
 | 
						|
 | 
						|
config_foreach restart_relayd interface
 | 
						|
 |