summaryrefslogtreecommitdiffstats
path: root/package/ppp/files/pppoa.sh
blob: 59e35c2dca558263250082c6628be3337fadb137 (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
coldplug_interface_pppoa() {
	setup_interface_pppoa x "$1"
}

stop_interface_pppoa() {
	stop_interface_ppp "$1"
}

setup_interface_pppoa() {
	local config="$2"

	local device
	config_get device "$config" device

	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 ${device:+$device.}${vpi:-8}.${vci:-35} \
		${encaps} ${mtu:+mtu $mtu mru $mtu}
}