source: packages/utils/bandwidthd/files/bandwidthd.init @ 28946

Last change on this file since 28946 was 28946, checked in by nico, 5 years ago

packages/bandwidthd: use new service functions

File size: 1.9 KB
Line 
1#!/bin/sh /etc/rc.common
2# Copyright (C) 2008-2011 OpenWrt.org
3
4START=99
5
6config_cb() {
7        local cfg_type="$1"
8        local cfg_name="$2"
9
10        case "$cfg_type" in
11                bandwidthd)
12                        append cfgs "$cfg_name"
13                ;;
14        esac
15}
16
17export_bool() {
18        local option="$1"
19        local section="$2"
20        local _loctmp
21        config_get_bool _loctmp "$section" "$option"
22        if [ -n "$_loctmp" ]; then
23                conffile="${conffile}$option "
24                if [ 1 -eq "$_loctmp" ]; then
25                        conffile="${conffile}true"
26                else
27                        conffile="${conffile}false"
28                fi
29                conffile="${conffile}\n"
30        fi
31}
32
33export_number() {
34        local option="$1"
35        local section="$2"
36        local _loctmp
37        config_get _loctmp "$section" "$option"
38        if [ -n "$_loctmp" ]; then
39                conffile="${conffile}$option ${_loctmp}\n"
40        fi
41}
42
43export_string() {
44        local option="$1"
45        local section="$2"
46        local _loctmp
47        config_get _loctmp "$section" "$option"
48        if [ -n "$_loctmp" ]; then
49                conffile="${conffile}$option \"${_loctmp}\"\n"
50        fi
51}
52
53start() {
54        local subnet conffile
55
56        [ -d /tmp/bandwidthd ] || mkdir -p /tmp/bandwidthd && cp /www/legend.gif /www/logo.gif /tmp/bandwidthd/
57        [ -e /htdocs ] || ln -s /tmp/bandwidthd /htdocs
58        [ -e /www/bandwidthd ] || ln -s /tmp/bandwidthd /www/bandwidthd
59        rm -f /tmp/bandwidthd.conf
60        touch /tmp/bandwidthd.conf
61        [ -e /etc/bandwidthd.conf ] || ln -s /tmp/bandwidthd.conf /etc/bandwidthd.conf
62       
63       
64        config_load bandwidthd
65        for cfg in $cfgs; do
66                config_get subnets $cfg subnets
67                        for subnet in $subnets; do
68                                conffile="${conffile}subnet ${subnet}\n"
69                        done
70                export_string dev $cfg
71                export_number skip_intervals $cfg
72                export_number graph_cutoff $cfg
73                export_bool promiscuous $cfg
74                export_bool output_cdf $cfg
75                export_bool recover_cdf $cfg
76                export_string filter $cfg
77                export_bool graph $cfg
78                export_number meta_refresh $cfg
79                [ -n "$conffile" ] && echo -e "$conffile" >>/tmp/bandwidthd.conf
80                unset conffile
81        done
82        cd /
83        service_start /usr/sbin/bandwidthd
84}
85
86stop() {
87        service_stop /usr/sbin/bandwidthd
88}
Note: See TracBrowser for help on using the repository browser.