34 lines
		
	
	
		
			631 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			631 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
# Copyright (C) 2006 OpenWrt.org
 | 
						|
 | 
						|
setup_switch_vlan() {
 | 
						|
	DIR="/proc/switch/$CONFIG_SECTION/vlan/$1"
 | 
						|
	[ -d "$DIR" ] || return 0
 | 
						|
	
 | 
						|
	config_get ports "$CONFIG_SECTION" "vlan$1"
 | 
						|
	echo "$ports" > "$DIR/ports"
 | 
						|
}
 | 
						|
 | 
						|
setup_switch() {
 | 
						|
	config_cb() {
 | 
						|
		case "$1" in
 | 
						|
			switch)
 | 
						|
				[ -n "$2" -a -d "/proc/switch/$2" ] && {
 | 
						|
					echo 1 > "/proc/switch/$2/reset"
 | 
						|
					echo 1 > "/proc/switch/$2/enable"
 | 
						|
					echo 1 > "/proc/switch/$2/enable_vlan"
 | 
						|
					option_cb() {
 | 
						|
						case "$1" in
 | 
						|
							vlan*) setup_switch_vlan "${1##vlan}";;
 | 
						|
						esac
 | 
						|
					}
 | 
						|
				}
 | 
						|
			;;
 | 
						|
			*)
 | 
						|
				option_cb() { return 0; }
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
	}
 | 
						|
	config_load network
 | 
						|
}
 |