make sure that unused services get properly shut down

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2023-01-27 09:22:02 +01:00
parent cd97d41e3f
commit f41e47e48b
3 changed files with 10 additions and 4 deletions

View File

@@ -3,6 +3,8 @@ let roles = (state.switch && state.switch.loop_detection &&
state.switch.loop_detection.roles) ?
state.switch.loop_detection.roles : [];
services.set_enabled("ustpd", length(roles));
function loop_detect(role) {
return (index(roles, role) >= 0) ? 1 : 0;
}

View File

@@ -1,7 +1,5 @@
{%
let enable = airtime_fairness;
if (!services.is_present("atfpolicy"))
return;
let enable = length(airtime_fairness);
services.set_enabled("atfpolicy", enable);
if (!enable)
return;

View File

@@ -2,11 +2,14 @@
let wireguard = length(services.lookup_interfaces("wireguard-overlay"));
let vxlan = length(services.lookup_interfaces("vxlan-overlay"));
if (!wireguard && !vxlan)
if (!wireguard && !vxlan) {
services.set_enabled("unetd", false);
return;
}
if (wireguard + vlxan > 1) {
warn('only a single wireguard/vxlan-overlay is allowed\n');
services.set_enabled("unetd", false);
return;
}
@@ -14,9 +17,12 @@ if (!wireguard_overlay.root_node.key ||
!wireguard_overlay.root_node.endpoint ||
!wireguard_overlay.root_node.ipaddr) {
warn('root node is not configured correctly\n');
services.set_enabled("unetd", false);
return;
}
services.set_enabled("unetd", true);
let ips = [];
wireguard_overlay.root_node.name = "gateway";