]>
Commit | Line | Data |
---|---|---|
12de71be | 1 | #!/bin/sh |
b0443108 | 2 | # |
ec8b15cb | 3 | # $Id$ |
b0443108 | 4 | # |
7742e157 | 5 | |
201c98b9 AM |
6 | run_up() { :; } |
7 | ||
dd4a755f | 8 | . /etc/rc.d/init.d/functions |
f3002e12 | 9 | . /etc/sysconfig/network |
f67ce454 | 10 | . /lib/rc-scripts/functions.network |
7742e157 AF |
11 | |
12 | need_hostname | |
12de71be | 13 | CONFIG=$1 |
7742e157 AF |
14 | source_config |
15 | ||
de1fc6ce JR |
16 | # set all major variables |
17 | setup_ip_param | |
38198f50 | 18 | |
de1fc6ce | 19 | # set REALDEVICE |
919bed72 JK |
20 | get_ppp_device_and_pid |
21 | ||
45f7fc7c AM |
22 | # Simple QoS support (bandwidth limit) |
23 | if [ -n "${BANDWIDTH_OUT}" ]; then | |
5e6dfc29 JR |
24 | if [ "${QDISC_CLASS}" = "htb" -o "${QDISC_CLASS}" = "cbq" ]; then |
25 | case "${QDISC_CLASS}" in | |
26 | htb) | |
27 | tc qdisc add dev ${REALDEVICE} root handle 1: htb default 10 | |
28 | tc class add dev ${REALDEVICE} parent 1: classid 1:10 htb rate ${BANDWIDTH_OUT}kbit ceil ${BANDWIDTH_OUT}kbit | |
29 | [ -n "${QDISC}" ] && tc qdisc add dev ${REALDEVICE} parent 1:10 ${QDISC} | |
30 | ;; | |
31 | cbq) | |
32 | # FIXME: hardcoded ethernet speed (bandwidth) | |
33 | tc qdisc add dev ${REALDEVICE} root handle 1: cbq bandwidth 100000kbit cell 8 avpkt 1000 mpu 64 | |
34 | tc class add dev ${REALDEVICE} parent 1: classid 1:10 cbq bandwidth 100000kbit rate ${BANDWIDTH_OUT}kbit maxburst 5 avpkt 1000 allot 1514 bounded | |
35 | [ -n "${QDISC}" ] && tc qdisc add dev ${REALDEVICE} parent 1:10 ${QDISC} | |
36 | tc filter add dev ${REALDEVICE} protocol ip parent 1: u32 match ip src 0.0.0.0/0 flowid 1:10 | |
37 | ;; | |
38 | esac | |
39 | elif [ -z "${QDISC}" -o "${QDISC}" = "tbf" ]; then | |
40 | tc qdisc add dev ${REALDEVICE} root tbf rate ${BANDWIDTH_OUT}kbit latency 50ms burst 51200 | |
41 | elif [ -n "${QDISC}" ]; then | |
42 | tc qdisc add dev ${REALDEVICE} root ${QDISC} | |
43 | fi | |
45f7fc7c | 44 | else |
5e6dfc29 JR |
45 | if [ -n "${QDISC}" ]; then |
46 | tc qdisc add dev ${REALDEVICE} root ${QDISC} | |
47 | fi | |
45f7fc7c AM |
48 | fi |
49 | ||
50 | if [ -n "${BANDWIDTH_IN}" ]; then | |
5e6dfc29 JR |
51 | tc qdisc add dev ${REALDEVICE} handle ffff: ingress |
52 | tc filter add dev ${REALDEVICE} parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${BANDWIDTH_IN}kbit burst 10k drop flowid :3 | |
919bed72 JK |
53 | fi |
54 | ||
f67ce454 ER |
55 | . /lib/rc-scripts/ifup-aliases |
56 | . /lib/rc-scripts/ifup-routes | |
57 | . /lib/rc-scripts/ifup-neigh | |
7742e157 | 58 | |
de1fc6ce JR |
59 | # don't set hostname on ppp/slip connections |
60 | if [ -n "$NEEDHOSTNAME" -a "${DEVICETYPE}" != "ppp" -a "${DEVICETYPE}" != "slip" ]; then | |
5e6dfc29 JR |
61 | IPADDR=$(ip -f inet addr show dev ${DEVICE} | |
62 | awk '/inet/ { print $2 }' |awk -F"/" '{ print $1 }') | |
63 | eval $(/bin/ipcalc --silent --hostname ${IPADDR}) && set_hostname $HOSTNAME | |
7742e157 AF |
64 | fi |
65 | ||
de1fc6ce JR |
66 | # run tleds software |
67 | if [ "$TLEDS_DEV" = "$DEVICE" -a -x /usr/bin/tleds ]; then | |
5e6dfc29 | 68 | /usr/bin/tleds -qc "$DEVICE" |
7742e157 AF |
69 | fi |
70 | ||
201c98b9 | 71 | # execute run_up() function (if available in device configuration file) |
de1fc6ce | 72 | run_up |
97c76ad5 | 73 | |
7742e157 AF |
74 | # Notify programs that have requested notification |
75 | do_netreport | |
76 | ||
77 | exit 0 |