mirror of
https://github.com/openwrt/packages.git
synced 2025-12-10 12:41:22 +00:00
Added test.sh Predetermine count used by for loops in Makefile postrm Implemented extra_command in initscript Resolved shellcheck issues Bump release Signed-off-by: Dan Srebnick <k2ie@k2ie.net>
84 lines
1.9 KiB
Bash
Executable File
84 lines
1.9 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
|
|
START=95
|
|
STOP=10
|
|
|
|
extra_command "configure" "Configure service parameters"
|
|
|
|
start() {
|
|
default_addr="44.127.254.254"
|
|
if [ "$(uci get network.amprlan.ipaddr)" = "$default_addr" ] || \
|
|
[ "$(uci get network.amprwan.ipaddr)" = "$default_addr" ]; then
|
|
|
|
cat <<-EOF
|
|
ampr-ripd is not fully configured.
|
|
You must run /etc/init.d/ampr-ripd configure.
|
|
EOF
|
|
|
|
exit 1
|
|
fi
|
|
if [ ! -d /var/lib/ampr-ripd ]; then
|
|
mkdir -p /var/lib/ampr-ripd
|
|
fi
|
|
ip tunnel change ttl 64 mode ipip tunl0
|
|
ip link set dev tunl0 up
|
|
ifconfig tunl0 mtu 1480
|
|
tunnet=$(uci -q get ampr-ripd.network.tunnet)
|
|
/usr/sbin/ampr-ripd -s -r -t 44 -i tunl0 -a "$tunnet"
|
|
}
|
|
|
|
stop() {
|
|
ifconfig tunl0 down
|
|
killall ampr-ripd
|
|
}
|
|
|
|
configure() {
|
|
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
|
|
cat <<-EOF
|
|
|
|
Usage: /etc/init.d/ampr-ripd configure [amprhost] [amprmask] [amprnet]
|
|
|
|
amprhost is the 44 net address assigned to your OpenWrt host
|
|
amprmask is the full netmask of your AMPR assigned network
|
|
amprnet is the network number of your AMPR assigned network
|
|
|
|
Eg. /etc/init.d/ampr-ripd configure 44.127.254.1 255.255.255.0 44.127.254.0
|
|
EOF
|
|
exit 1
|
|
fi
|
|
amprhost=$1
|
|
amprmask=$2
|
|
amprnet=$3
|
|
|
|
cat <<-EOF
|
|
Configuring ampr-ripd with values:
|
|
|
|
amprhost=$amprhost
|
|
amprmask=$amprmask
|
|
amprnet=$amprnet
|
|
EOF
|
|
|
|
tunnet=$amprnet/$amprmask
|
|
uci set ampr-ripd.network.tunnet="$tunnet"
|
|
uci commit ampr-ripd
|
|
uci set network.amprlan.ipaddr="$amprhost"
|
|
uci set network.amprlan.netmask="$amprmask"
|
|
uci set network.amprwan.ipaddr="$amprhost"
|
|
uci set network.amprwan.netmask="$amprmask"
|
|
for i in $(uci show network | awk -F= "/@rule/ && /lookup='44'/ {split(\$1, conf, /[.=]/); print conf[2]}"); do
|
|
if [ "$(uci -q get "network.$i.priority")" = "45" ]; then
|
|
uci set "network.$i.src=$tunnet"
|
|
fi
|
|
done
|
|
uci commit network
|
|
|
|
cat <<-EOF
|
|
|
|
Now, do the following:
|
|
/etc/init.d/ampr-ripd restart
|
|
/etc/init.d/network restart
|
|
EOF
|
|
|
|
exit 0
|
|
}
|