aboutsummaryrefslogtreecommitdiff
path: root/net/nft-qos/files/nft-qos.init
blob: 4a85e20c0ecf2d942bc6776346873d6ad268eda9 (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
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh /etc/rc.common
#
# Copyright (C) 2018 rosysong@rosinson.com
#

if [ -z "${IPKG_INSTROOT}" ]; then
	. /lib/nft-qos/core.sh
	. /lib/nft-qos/monitor.sh
	. /lib/nft-qos/dynamic.sh
	. /lib/nft-qos/static.sh
	. /lib/nft-qos/mac.sh
	. /lib/nft-qos/priority.sh
fi

START=99
USE_PROCD=1

service_triggers() {
	procd_add_reload_trigger nft-qos

	procd_open_validate
	qosdef_validate_dynamic
	qosdef_validate_static
	qosdef_validate_priority
	qosdef_validate_mac
	procd_close_validate
}

start_service() {
	config_load nft-qos

	qosdef_init_env
	qosdef_flush_mac
	qosdef_flush_static
	qosdef_flush_dynamic
	qosdef_remove_priority

	qosdef_init_header
	qosdef_init_monitor
	qosdef_validate_dynamic default qosdef_init_dynamic
	qosdef_validate_static default qosdef_init_static
	qosdef_validate_mac default qosdef_init_mac
	qosdef_validate_priority default qosdef_init_priority
	qosdef_init_done
	qosdef_start
}

stop_service() {
	qosdef_flush_dynamic
	qosdef_flush_static
	qosdef_flush_mac
	qosdef_remove_priority
	qosdef_clean_cache
}