aboutsummaryrefslogtreecommitdiffstats
path: root/package/ppp/files/pppoa.sh
blob: c64e809de389b6dad17b9f0dbad98b99dbfb5d51 (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
scan_pppoa() {
	config_set "$1" device "pppoa-$1"
}

coldplug_interface_pppoa() {
	setup_interface_pppoa x "$1"
}

stop_interface_pppoa() {
	stop_interface_ppp "$1"
}

setup_interface_pppoa() {
	local config="$2"

	local atmdev
	config_get atmdev "$config" atmdev

	local vpi
	config_get vpi "$config" vpi

	local vci
	config_get vci "$config" vci

	for module in slhc ppp_generic pppoatm; do
		/sbin/insmod $module 2>&- >&-
	done

	local encaps
	config_get encaps "$config" encaps

	case "$encaps" in
		1|vc) encaps="vc-encaps" ;;
		*) encaps="llc-encaps" ;;
	esac

	local mtu
	config_get mtu "$config" mtu

	start_pppd "$config" \
		plugin pppoatm.so ${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \
		${encaps} ${mtu:+mtu $mtu mru $mtu}
}