bridger: update to Git HEAD (2024-04-22)
[openwrt/staging/blocktrron.git] / package / network / services / bridger / files / bridger.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (c) 2021 OpenWrt.org
3
4 START=19
5
6 USE_PROCD=1
7 PROG=/usr/sbin/bridger
8
9 get_defaults() {
10 cfg="$1"
11
12 config_get blacklist "$cfg" blacklist
13 json_add_array blacklist
14 for i in $blacklist; do
15 json_add_string "" "$i"
16 done
17 json_close_array
18
19 config_get_bool bridge_local_tx "$cfg" bridge_local_tx 1
20 json_add_boolean bridge_local_tx "$bridge_local_tx"
21
22 config_get_bool bridge_local_rx "$cfg" bridge_local_rx 0
23 json_add_boolean bridge_local_rx "$bridge_local_rx"
24 }
25
26 reload_service() {
27 config_load bridger
28
29 json_init
30 config_foreach get_defaults defaults
31
32 ubus call bridger set_config "$(json_dump)"
33 }
34
35 service_triggers() {
36 procd_add_reload_trigger bridger
37 }
38
39 start_service() {
40 procd_open_instance
41 procd_set_param command "$PROG"
42 procd_set_param respawn
43 procd_close_instance
44 }
45
46 service_started() {
47 ubus -t 10 wait_for bridger
48 [ $? = 0 ] && reload_service
49 }