mirror of
https://github.com/Telecominfraproject/wlan-ucentral-schema.git
synced 2026-03-20 03:41:53 +00:00
This ensures that netifd will never up/down cycle the netdev Signed-off-by: John Crispin <john@phrozen.org>
58 lines
1.5 KiB
Ucode
58 lines
1.5 KiB
Ucode
{%
|
|
import * as fs from 'fs';
|
|
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;
|
|
}
|
|
let board = fs.readfile('/etc/board.json');
|
|
if (board)
|
|
board = json(board);
|
|
%}
|
|
|
|
# Basic configuration
|
|
set network.loopback=interface
|
|
set network.loopback.ifname='lo'
|
|
set network.loopback.proto='static'
|
|
set network.loopback.ipaddr='127.0.0.1'
|
|
set network.loopback.netmask='255.0.0.0'
|
|
|
|
set network.up=device
|
|
set network.up.name=up
|
|
set network.up.type=bridge
|
|
set network.up.stp={{ loop_detect("upstream") }}
|
|
set network.up.igmp_snooping='1'
|
|
set network.up.macaddr={{ s(capab.macaddr?.wan) }}
|
|
|
|
{% if (capab.platform != "switch"): %}
|
|
set network.down=device
|
|
set network.down.name=down
|
|
set network.down.type=bridge
|
|
set network.down.stp={{ loop_detect("downstream") }}
|
|
set network.down.igmp_snooping='1'
|
|
set network.down.macaddr={{ s(capab.macaddr?.lan) }}
|
|
|
|
{% endif %}
|
|
set network.up_none=interface
|
|
set network.up_none.ifname=up
|
|
set network.up_none.proto=none
|
|
|
|
{% for (let k, v in capab.switch): %}
|
|
add network switch
|
|
set network.@switch[-1].name={{ s(v.name) }}
|
|
set network.@switch[-1].reset={{ b(v.reset) }}
|
|
set network.@switch[-1].enable_vlan={{ b(v.enable) }}
|
|
{% endfor %}
|
|
|
|
{% for (let k, v in board?.network):
|
|
if (+v.none == 1): %}
|
|
set network.{{v.device}}_none=interface
|
|
set network.{{v.device}}_none.proto=none
|
|
set network.{{v.device}}_none.device={{ s(v.device) }}
|
|
{% endif
|
|
endfor %}
|