Add the uci option nameprefix to specifc a target netdev name. Patch the br2684ctl code to accept and set a netdev name via commandline parameters. It allows to use the same netdev name for ATM and PTM lines on lantiq xdsl hardware. Signed-off-by: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Mathis Kresin <dev@kresin.me>
		
			
				
	
	
		
			85 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh /etc/rc.common
 | 
						|
 | 
						|
START=50
 | 
						|
USE_PROCD=1
 | 
						|
 | 
						|
start_daemon() {
 | 
						|
	local cfg="$1"
 | 
						|
 | 
						|
	local atmdev disabled
 | 
						|
 | 
						|
	config_get_bool disabled "$cfg" disabled 0
 | 
						|
	[ "$disabled" -eq 1 ] && return
 | 
						|
 | 
						|
	config_get atmdev "$cfg" atmdev 0
 | 
						|
 | 
						|
	local nameprefix
 | 
						|
	config_get nameprefix "$cfg" nameprefix "nas"
 | 
						|
 | 
						|
	local unit
 | 
						|
	config_get unit "$cfg" unit 0
 | 
						|
 | 
						|
	local vpi
 | 
						|
	config_get vpi "$cfg" vpi 8
 | 
						|
 | 
						|
	local vci
 | 
						|
	config_get vci "$cfg" vci 35
 | 
						|
 | 
						|
	local encaps
 | 
						|
	config_get encaps "$cfg" encaps
 | 
						|
 | 
						|
	case "$encaps" in
 | 
						|
		1|vc) encaps=1;;
 | 
						|
		*) encaps=0;;
 | 
						|
	esac
 | 
						|
 | 
						|
	local payload
 | 
						|
	config_get payload "$cfg" payload
 | 
						|
 | 
						|
	case "$payload" in
 | 
						|
		0|routed) payload=0;;
 | 
						|
		*) payload=1;;
 | 
						|
	esac
 | 
						|
 | 
						|
	local qos
 | 
						|
	config_get qos "$cfg" qos
 | 
						|
 | 
						|
	local sendsize
 | 
						|
	config_get sendsize "$cfg" sendsize
 | 
						|
 | 
						|
	found=
 | 
						|
	for device in /sys/class/atm/*; do
 | 
						|
		[ -d "$device" ] || break
 | 
						|
		[ "$(cat $device/atmindex)" = "$atmdev" ] || continue
 | 
						|
		found=1
 | 
						|
		break
 | 
						|
	done
 | 
						|
 | 
						|
	[ -n "$found" ] || return
 | 
						|
 | 
						|
	local circuit="$atmdev.$vpi.$vci"
 | 
						|
 | 
						|
	procd_open_instance
 | 
						|
	procd_set_param command \
 | 
						|
		/usr/sbin/br2684ctl_wrap "${nameprefix}${unit}" \
 | 
						|
		-n "$nameprefix" -c "$unit" -e "$encaps" -p "$payload" \
 | 
						|
		-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"} \
 | 
						|
		-S /lib/netifd/br2684-up
 | 
						|
	procd_close_instance
 | 
						|
}
 | 
						|
 | 
						|
service_triggers() {
 | 
						|
	local script=$(readlink "$initscript")
 | 
						|
	local name=$(basename ${script:-$initscript})
 | 
						|
 | 
						|
	procd_open_trigger
 | 
						|
	procd_add_raw_trigger hotplug.atm 2000 /etc/init.d/$name reload
 | 
						|
	procd_add_config_trigger "config.change" "network" /etc/init.d/$name reload
 | 
						|
	procd_close_trigger
 | 
						|
}
 | 
						|
 | 
						|
start_service() {
 | 
						|
	config_load network
 | 
						|
	config_foreach start_daemon atm-bridge
 | 
						|
}
 |