openwrtv3/package/ppp/files/etc/ppp/ip-up
2011-04-20 12:02:04 +00:00

37 lines
946 B
Bash
Executable file

#!/bin/sh
. /etc/functions.sh
. /lib/network/config.sh
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$(echo $6 | sed 's/\./_/g')"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
[ -z "$PPP_IPPARAM" -o -z "$PPP_LOCAL" ] || {
uci_set_state network "$PPP_IPPARAM" ifname "$PPP_IFACE"
uci_set_state network "$PPP_IPPARAM" ipaddr "$PPP_LOCAL"
uci_set_state network "$PPP_IPPARAM" gateway "$PPP_REMOTE"
local dns="$DNS1${DNS2:+ $DNS2}"
[ -n "$dns" ] && add_dns "$PPP_IPPARAM" $dns
}
[ -z "$PPP_IPPARAM" ] || {
case "$PPP_IFACE" in
# only handle uci managed interfaces here, others are done by generic hotplug
3g-*|ppp-*|pppoa-*|pppoe-*|pptp-*)
env -i ACTION="ifup" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface"
;;
esac
}
[ -d /etc/ppp/ip-up.d ] && {
for SCRIPT in /etc/ppp/ip-up.d/*
do
[ -x "$SCRIPT" ] && "$SCRIPT" "$@"
done
}