pkgs/ap: don't use uci batch
was hiding which command produced an error
This commit is contained in:
parent
b8b4995433
commit
311df51820
100
nix/pkgs/ap.nix
100
nix/pkgs/ap.nix
|
@ -163,22 +163,21 @@ in ''
|
|||
${uciDeleteAll "network.@switch_vlan"}
|
||||
${uciDeleteAll "wireless.@wifi"}
|
||||
|
||||
uci batch <<__UCI__
|
||||
set system.@system[0].hostname=${hostName}
|
||||
set dhcp.@dnsmasq[0].enabled=0
|
||||
set system.@system[0].log_ip=${config.site.net.mgmt.hosts4.logging}
|
||||
set system.@system[0].log_proto=udp
|
||||
uci set system.@system[0].hostname=${hostName}
|
||||
uci set dhcp.@dnsmasq[0].enabled=0
|
||||
uci set system.@system[0].log_ip=${config.site.net.mgmt.hosts4.logging}
|
||||
uci set system.@system[0].log_proto=udp
|
||||
|
||||
# Switch config
|
||||
${optionalString hasSwitch ''
|
||||
# Ports ${portsDoc}
|
||||
${concatMapStrings (net: ''
|
||||
add network switch_vlan
|
||||
set network.@switch_vlan[-1]=switch_vlan
|
||||
set network.@switch_vlan[-1].device='switch0'
|
||||
set network.@switch_vlan[-1].vlan='${toString config.site.net.${net}.vlan}'
|
||||
set network.@switch_vlan[-1].ports='${switchPortsConfig net}'
|
||||
set network.@switch_vlan[-1].comment='${net}'
|
||||
uci add network switch_vlan
|
||||
uci set network.@switch_vlan[-1]=switch_vlan
|
||||
uci set network.@switch_vlan[-1].device='switch0'
|
||||
uci set network.@switch_vlan[-1].vlan='${toString config.site.net.${net}.vlan}'
|
||||
uci set network.@switch_vlan[-1].ports='${switchPortsConfig net}'
|
||||
uci set network.@switch_vlan[-1].comment='${net}'
|
||||
|
||||
'') (
|
||||
sort (net1: net2:
|
||||
|
@ -193,25 +192,25 @@ in ''
|
|||
''}
|
||||
|
||||
# mgmt network
|
||||
set network.mgmt=interface
|
||||
set network.mgmt.ifname=${if builtins.length (networkInterfaces "mgmt") == 1 then builtins.head (networkInterfaces "mgmt") else throw "No interface for mgmt"}
|
||||
set network.mgmt.proto=static
|
||||
set network.mgmt.ipaddr=${config.site.net.mgmt.hosts4.${hostName}}
|
||||
set network.mgmt.netmask=${self.lib.netmasks.${elemAt (
|
||||
uci set network.mgmt=interface
|
||||
uci set network.mgmt.ifname=${if builtins.length (networkInterfaces "mgmt") == 1 then builtins.head (networkInterfaces "mgmt") else throw "No interface for mgmt"}
|
||||
uci set network.mgmt.proto=static
|
||||
uci set network.mgmt.ipaddr=${config.site.net.mgmt.hosts4.${hostName}}
|
||||
uci set network.mgmt.netmask=${self.lib.netmasks.${elemAt (
|
||||
builtins.split "/" config.site.net.mgmt.subnet4
|
||||
) 2}}
|
||||
set network.mgmt.gateway=${config.site.net.mgmt.hosts4.mgmt-gw}
|
||||
set network.mgmt.ip6addr=${config.site.net.mgmt.hosts6.dn42.${hostName}}/64
|
||||
set network.mgmt.ip6gw=${config.site.net.mgmt.hosts6.dn42.mgmt-gw}
|
||||
delete network.mgmt.dns
|
||||
add_list network.mgmt.dns=${config.site.net.serv.hosts4.dnscache}
|
||||
add_list network.mgmt.dns=${config.site.net.serv.hosts6.dn42.dnscache}
|
||||
uci set network.mgmt.gateway=${config.site.net.mgmt.hosts4.mgmt-gw}
|
||||
uci set network.mgmt.ip6addr=${config.site.net.mgmt.hosts6.dn42.${hostName}}/64
|
||||
uci set network.mgmt.ip6gw=${config.site.net.mgmt.hosts6.dn42.mgmt-gw}
|
||||
uci delete network.mgmt.dns
|
||||
uci add_list network.mgmt.dns=${config.site.net.serv.hosts4.dnscache}
|
||||
uci add_list network.mgmt.dns=${config.site.net.serv.hosts6.dn42.dnscache}
|
||||
|
||||
delete network.globals.ula_prefix
|
||||
uci delete network.globals.ula_prefix
|
||||
# delete unused networks
|
||||
${concatMapStrings (net:
|
||||
lib.optionalString (! hostConfig.interfaces ? ${net}) ''
|
||||
delete network.${net}
|
||||
uci delete network.${net}
|
||||
''
|
||||
) ([ "lan" "wan" "wan6" ] ++ builtins.attrNames config.site.net)}
|
||||
|
||||
|
@ -220,16 +219,16 @@ in ''
|
|||
let
|
||||
iface = hostConfig.interfaces.${net};
|
||||
in optionalString (net != "mgmt" && iface.type == "bridge") ''
|
||||
set network.${net}=interface
|
||||
set network.${net}.type=bridge
|
||||
set network.${net}.proto=static
|
||||
set network.${net}.ifname='${concatStringsSep " " (networkInterfaces net)}'
|
||||
uci set network.${net}=interface
|
||||
uci set network.${net}.type=bridge
|
||||
uci set network.${net}.proto=static
|
||||
uci set network.${net}.ifname='${concatStringsSep " " (networkInterfaces net)}'
|
||||
|
||||
'') (builtins.attrNames hostConfig.interfaces)
|
||||
}
|
||||
|
||||
delete wireless.default_radio0
|
||||
delete wireless.default_radio1
|
||||
uci delete wireless.default_radio0
|
||||
uci delete wireless.default_radio1
|
||||
${concatStrings (imap0 (index: path:
|
||||
let
|
||||
radioConfig = hostConfig.wifi.${path};
|
||||
|
@ -237,42 +236,41 @@ in ''
|
|||
then "wlan2"
|
||||
else "wlan5";
|
||||
in ''
|
||||
set wireless.radio${toString index}=wifi-device
|
||||
set wireless.radio${toString index}.type=mac80211
|
||||
set wireless.radio${toString index}.country=DE
|
||||
set wireless.radio${toString index}.channel=${toString radioConfig.channel}
|
||||
set wireless.radio${toString index}.path=${path}
|
||||
set wireless.radio${toString index}.htmode=${radioConfig.htmode}
|
||||
set wireless.radio${toString index}.noscan=1
|
||||
delete wireless.radio${toString index}.disabled
|
||||
uci set wireless.radio${toString index}=wifi-device
|
||||
uci set wireless.radio${toString index}.type=mac80211
|
||||
uci set wireless.radio${toString index}.country=DE
|
||||
uci set wireless.radio${toString index}.channel=${toString radioConfig.channel}
|
||||
uci set wireless.radio${toString index}.path=${path}
|
||||
uci set wireless.radio${toString index}.htmode=${radioConfig.htmode}
|
||||
uci set wireless.radio${toString index}.noscan=1
|
||||
uci delete wireless.radio${toString index}.disabled
|
||||
|
||||
${concatMapStrings (ssid:
|
||||
let
|
||||
ssidConfig = radioConfig.ssids.${ssid};
|
||||
in ''
|
||||
add wireless wifi
|
||||
set wireless.@wifi-iface[-1].ifname=${ifPrefix}-${ssidConfig.net}
|
||||
set wireless.@wifi-iface[-1].device=radio${toString index}
|
||||
set wireless.@wifi-iface[-1].ssid='${ssid}'
|
||||
set wireless.@wifi-iface[-1].mode=ap
|
||||
set wireless.@wifi-iface[-1].network=${ssidConfig.net}
|
||||
set wireless.@wifi-iface[-1].mcast_rate=18000
|
||||
uci add wireless wifi
|
||||
uci set wireless.@wifi-iface[-1].ifname=${ifPrefix}-${ssidConfig.net}
|
||||
uci set wireless.@wifi-iface[-1].device=radio${toString index}
|
||||
uci set wireless.@wifi-iface[-1].ssid='${ssid}'
|
||||
uci set wireless.@wifi-iface[-1].mode=ap
|
||||
uci set wireless.@wifi-iface[-1].network=${ssidConfig.net}
|
||||
uci set wireless.@wifi-iface[-1].mcast_rate=18000
|
||||
${if (ssidConfig.psk != null)
|
||||
then ''
|
||||
set wireless.@wifi-iface[-1].encryption=psk2
|
||||
set wireless.@wifi-iface[-1].key='${ssidConfig.psk}'
|
||||
uci set wireless.@wifi-iface[-1].encryption=psk2
|
||||
uci set wireless.@wifi-iface[-1].key='${ssidConfig.psk}'
|
||||
''
|
||||
else ''
|
||||
set wireless.@wifi-iface[-1].encryption=none
|
||||
delete wireless.@wifi-iface[-1].key
|
||||
uci set wireless.@wifi-iface[-1].encryption=none
|
||||
uci delete wireless.@wifi-iface[-1].key
|
||||
''}
|
||||
|
||||
''
|
||||
) (builtins.attrNames radioConfig.ssids)}
|
||||
'') (builtins.attrNames hostConfig.wifi))}
|
||||
|
||||
commit
|
||||
__UCI__
|
||||
uci commit
|
||||
|
||||
# Cronjob that makes sure WiFi is only visible when server with all
|
||||
# the gateways is reachable
|
||||
|
|
Loading…
Reference in New Issue