1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-03-09 15:40:20 +00:00

同步到最新的omr

This commit is contained in:
suyuan 2020-10-13 16:59:34 +08:00
parent 0033ea0410
commit 2fc16af55f
42 changed files with 57 additions and 6737 deletions

View file

@ -15,21 +15,17 @@ generate_static_network() {
set network.loopback.proto='static'
set network.loopback.ipaddr='127.0.0.1'
set network.loopback.netmask='255.0.0.0'
delete network.globals
set network.globals='globals'
set network.globals.ula_prefix='auto'
EOF
[ -e /proc/sys/net/ipv6 ] && {
uci -q batch <<-EOF
delete network.globals
set network.globals='globals'
set network.globals.ula_prefix='auto'
EOF
}
if json_is_a dsl object; then
json_select dsl
if json_is_a atmbridge object; then
json_select atmbridge
local vpi vci encaps payload nameprefix
json_get_vars vpi vci encaps payload nameprefix
local vpi vci encaps payload
json_get_vars vpi vci encaps payload
uci -q batch <<-EOF
delete network.atm
set network.atm='atm-bridge'
@ -37,7 +33,6 @@ generate_static_network() {
set network.atm.vci='$vci'
set network.atm.encaps='$encaps'
set network.atm.payload='$payload'
set network.atm.nameprefix='$nameprefix'
EOF
json_select ..
fi
@ -72,11 +67,26 @@ generate_network() {
[ -n "$ifname" ] || return
# force bridge for multi-interface devices (and lan)
case "$1:$ifname" in
*\ * | lan:*) type="bridge" ;;
case "$1" in
# hack (see /etc/board.d/02_network)
none) return ;;
lan*) proto=${proto:-static} ;;
wan*) proto=${proto:-dhcp} ;;
esac
if [ -n "$macaddr" ]; then
type=macvlan # useless, only for legacy
uci -q batch <<-EOF
delete network.${1}_dev
set network.${1}_dev='device'
set network.${1}_dev.name='$1'
set network.${1}_dev.type='$type'
set network.${1}_dev.ifname='$ifname'
set network.${1}_dev.macaddr='$macaddr'
EOF
ifname=$1
fi
uci -q batch <<-EOF
delete network.$1
set network.$1='interface'
@ -85,22 +95,11 @@ generate_network() {
set network.$1.proto='none'
EOF
if [ -n "$macaddr" ]; then
for name in $ifname; do
uci -q batch <<-EOF
delete network.$1_${name/./_}_dev
set network.$1_${name/./_}_dev='device'
set network.$1_${name/./_}_dev.name='$name'
set network.$1_${name/./_}_dev.macaddr='$macaddr'
EOF
done
fi
case "$protocol" in
static)
local ipad
case "$1" in
lan) ipad=${ipaddr:-"192.168.1.1"} ;;
lan) ipad=${ipaddr:-"192.168.100.1"} ;;
*) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;;
esac
@ -110,23 +109,17 @@ generate_network() {
set network.$1.proto='static'
set network.$1.ipaddr='$ipad'
set network.$1.netmask='$netm'
set network.$1.ip6assign='60'
EOF
[ -e /proc/sys/net/ipv6 ] && uci set network.$1.ip6assign='60'
;;
dhcp)
# fixup IPv6 slave interface if parent is a bridge
[ "$type" = "bridge" ] && ifname="br-$1"
uci set network.$1.proto='dhcp'
[ -e /proc/sys/net/ipv6 ] && {
uci -q batch <<-EOF
delete network.${1}6
set network.${1}6='interface'
set network.${1}6.ifname='$ifname'
set network.${1}6.proto='dhcpv6'
EOF
}
uci -q batch <<-EOF
set network.$1.proto='dhcp'
EOF
;;
pppoe)
@ -134,16 +127,12 @@ generate_network() {
set network.$1.proto='pppoe'
set network.$1.username='username'
set network.$1.password='password'
set network.$1.ipv6='1'
delete network.${1}6
set network.${1}6='interface'
set network.${1}6.ifname='@${1}'
set network.${1}6.proto='dhcpv6'
EOF
[ -e /proc/sys/net/ipv6 ] && {
uci -q batch <<-EOF
set network.$1.ipv6='1'
delete network.${1}6
set network.${1}6='interface'
set network.${1}6.ifname='@${1}'
set network.${1}6.proto='dhcpv6'
EOF
}
;;
esac
}
@ -217,8 +206,7 @@ generate_switch() {
json_select switch
json_select "$key"
json_get_vars enable reset blinkrate cpu_port \
ar8xxx_mib_type ar8xxx_mib_poll_interval
json_get_vars enable reset blinkrate cpu_port
uci -q batch <<-EOF
add network switch
@ -226,8 +214,6 @@ generate_switch() {
set network.@switch[-1].reset='$reset'
set network.@switch[-1].enable_vlan='$enable'
set network.@switch[-1].blinkrate='$blinkrate'
set network.@switch[-1].ar8xxx_mib_type='$ar8xxx_mib_type'
set network.@switch[-1].ar8xxx_mib_poll_interval='$ar8xxx_mib_poll_interval'
EOF
generate_switch_vlans_ports "$1"
@ -251,10 +237,10 @@ generate_static_system() {
set system.ntp='timeserver'
set system.ntp.enabled='1'
set system.ntp.enable_server='0'
add_list system.ntp.server='0.openwrt.pool.ntp.org'
add_list system.ntp.server='1.openwrt.pool.ntp.org'
add_list system.ntp.server='2.openwrt.pool.ntp.org'
add_list system.ntp.server='3.openwrt.pool.ntp.org'
add_list system.ntp.server='ntp1.aliyun.com'
add_list system.ntp.server='time1.cloud.tencent.com'
add_list system.ntp.server='time.ustc.edu.cn'
add_list system.ntp.server='cn.pool.ntp.org'
EOF
if json_is_a system object; then
@ -264,13 +250,6 @@ generate_static_system() {
uci -q set "system.@system[-1].hostname=$hostname"
fi
local compat_version
if json_get_var compat_version compat_version; then
uci -q set "system.@system[-1].compat_version=$compat_version"
else
uci -q set "system.@system[-1].compat_version=1.0"
fi
if json_is_a ntpserver array; then
local keys key
json_get_keys keys ntpserver
@ -380,12 +359,11 @@ generate_led() {
;;
switch)
local port_mask speed_mask mode
json_get_vars port_mask speed_mask mode
local port_mask speed_mask
json_get_vars port_mask speed_mask
uci -q batch <<-EOF
set system.$cfg.port_mask='$port_mask'
set system.$cfg.speed_mask='$speed_mask'
set system.$cfg.mode='$mode'
EOF
;;
@ -433,8 +411,6 @@ generate_gpioswitch() {
json_init
json_load "$(cat ${CFG})"
umask 077
if [ ! -s /etc/config/network ]; then
touch /etc/config/network
generate_static_network
@ -459,4 +435,4 @@ if [ ! -s /etc/config/system ]; then
json_get_keys keys led
for key in $keys; do generate_led $key; done
fi
uci commit
uci commit