summaryrefslogtreecommitdiff
path: root/package/ppp/files/etc/ppp/ip-up
blob: ecdd00b1c4d15d25af8b2e3760cf219c3b99d091 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
. /etc/functions.sh
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
PPP_UNIT="${PPP_IFACE##ppp}"

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" unit "$PPP_UNIT"
	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" ] && uci_set_state network "$PPP_IPPARAM" dns "$dns"
}
[ -z "$PPP_IPPARAM" ] || env -i ACTION="ifup" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface"

[ -d /etc/ppp/ip-up.d ] && {
	for SCRIPT in /etc/ppp/ip-up.d/*
	do
		[ -x "$SCRIPT" ] && "$SCRIPT" "$@"
	done
}