mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	lantiq: add runtime generation of /etc/config/network
SVN-Revision: 29161
This commit is contained in:
		
							parent
							
								
									13839520bc
								
							
						
					
					
						commit
						bbe96f13a6
					
				
							
								
								
									
										5
									
								
								target/linux/lantiq/base-files.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								target/linux/lantiq/base-files.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
define Package/base-files/install-target
 | 
			
		||||
	rm -f $(1)/etc/config/network
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,26 +0,0 @@
 | 
			
		||||
config interface loopback
 | 
			
		||||
	option ifname   lo
 | 
			
		||||
	option proto    static
 | 
			
		||||
	option ipaddr   127.0.0.1
 | 
			
		||||
	option netmask  255.0.0.0
 | 
			
		||||
 | 
			
		||||
config interface lan
 | 
			
		||||
	option ifname   eth0
 | 
			
		||||
	option type     bridge
 | 
			
		||||
	option proto    static
 | 
			
		||||
	option ipaddr   192.168.1.1
 | 
			
		||||
	option netmask  255.255.255.0
 | 
			
		||||
 | 
			
		||||
config atm-bridge
 | 
			
		||||
	option unit		0
 | 
			
		||||
	option encaps	llc
 | 
			
		||||
	option vpi		1
 | 
			
		||||
	option vci		32
 | 
			
		||||
	option payload	bridged # some ISPs need this set to 'routed'
 | 
			
		||||
 | 
			
		||||
config interface wan
 | 
			
		||||
	option ifname	nas0
 | 
			
		||||
	option proto	pppoe
 | 
			
		||||
	option username ""
 | 
			
		||||
	option password	""
 | 
			
		||||
	option unit 0
 | 
			
		||||
							
								
								
									
										126
									
								
								target/linux/lantiq/base-files/etc/uci-defaults/network
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										126
									
								
								target/linux/lantiq/base-files/etc/uci-defaults/network
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,126 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2011 OpenWrt.org
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
set_interface_loopback() {
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
set network.loopback='interface'
 | 
			
		||||
set network.loopback.ifname='lo'
 | 
			
		||||
set network.loopback.proto='static'
 | 
			
		||||
set network.loopback.ipaddr='127.0.0.1'
 | 
			
		||||
set network.loopback.netmask='255.0.0.0'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_interface_raw() {
 | 
			
		||||
	local cfg=$1
 | 
			
		||||
	local ifname=$2
 | 
			
		||||
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
set network.$cfg='interface'
 | 
			
		||||
set network.$cfg.ifname='$ifname'
 | 
			
		||||
set network.$cfg.proto='none'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_interface_lan() {
 | 
			
		||||
	local ifname=$1
 | 
			
		||||
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
set network.lan='interface'
 | 
			
		||||
set network.lan.ifname='$ifname'
 | 
			
		||||
set network.lan.type='bridge'
 | 
			
		||||
set network.lan.proto='static'
 | 
			
		||||
set network.lan.ipaddr='192.168.1.1'
 | 
			
		||||
set network.lan.netmask='255.255.255.0'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_interface_wan() {
 | 
			
		||||
	local ifname=$1
 | 
			
		||||
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
set network.wan='interface'
 | 
			
		||||
set network.wan.ifname='$ifname'
 | 
			
		||||
set network.wan.proto='dhcp'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_atm_wan() {
 | 
			
		||||
	local vpi=$1
 | 
			
		||||
	local vci=$2
 | 
			
		||||
	local encaps=$3
 | 
			
		||||
	local payload=$4
 | 
			
		||||
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
set network.atm='atm-bridge'
 | 
			
		||||
set network.atm.unit='0'
 | 
			
		||||
set network.atm.vpi='$vpi'
 | 
			
		||||
set network.atm.vci='$vci'
 | 
			
		||||
set network.atm.encaps='$encaps'
 | 
			
		||||
set network.atm.payload='$payload'
 | 
			
		||||
set network.wan='interface'
 | 
			
		||||
set network.wan.ifname='nas0'
 | 
			
		||||
set network.wan.proto='pppoe'
 | 
			
		||||
set network.wan.username='foo'
 | 
			
		||||
set network.wan.password='bar'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_interfaces_lan_wan() {
 | 
			
		||||
	local lan_ifname=$1
 | 
			
		||||
	local wan_ifname=$2
 | 
			
		||||
 | 
			
		||||
	set_interface_lan "$lan_ifname"
 | 
			
		||||
	set_interface_wan "$wan_ifname"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
add_switch() {
 | 
			
		||||
	local name=$1
 | 
			
		||||
	local reset=$2
 | 
			
		||||
	local enable=$3
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
add network switch
 | 
			
		||||
set network.@switch[-1].name='$name'
 | 
			
		||||
set network.@switch[-1].reset='$reset'
 | 
			
		||||
set network.@switch[-1].enable_vlan='$enable'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
add_switch_vlan() {
 | 
			
		||||
	local device=$1
 | 
			
		||||
	local vlan=$2
 | 
			
		||||
	local ports=$3
 | 
			
		||||
	uci batch <<EOF
 | 
			
		||||
add network switch_vlan
 | 
			
		||||
set network.@switch_vlan[-1].device='$device'
 | 
			
		||||
set network.@switch_vlan[-1].vlan='$vlan'
 | 
			
		||||
set network.@switch_vlan[-1].ports='$ports'
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[ -e /etc/config/network ] && exit 0
 | 
			
		||||
 | 
			
		||||
. /lib/lantiq.sh
 | 
			
		||||
 | 
			
		||||
touch /etc/config/network
 | 
			
		||||
 | 
			
		||||
set_interface_loopback
 | 
			
		||||
set_interface_lan 'eth0'
 | 
			
		||||
 | 
			
		||||
dsl=$(lantiq_soc_has_adsl)
 | 
			
		||||
[ -z "$dsl" ] || set_atm_wan '1' '32' 'llc' 'bridged'
 | 
			
		||||
 | 
			
		||||
board=$(lantiq_board_name)
 | 
			
		||||
 | 
			
		||||
case "$board" in
 | 
			
		||||
*)
 | 
			
		||||
	# custom foo goes here
 | 
			
		||||
	true
 | 
			
		||||
	;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
uci commit network
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
@ -1,5 +1,9 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
lantiq_soc_has_adsl() {
 | 
			
		||||
	ls /lib/modules/*/drv_dsl_cpe_api.ko
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
lantiq_soc_name() {
 | 
			
		||||
	grep ^system /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user