pkgs/switches/*: don't configure null vlans

This commit is contained in:
Astro 2022-01-19 17:18:00 +01:00
parent b75633566d
commit 7b80560aed
4 changed files with 101 additions and 76 deletions

View File

@ -54,7 +54,9 @@ with lib;
builtins.split "/" netConfig.subnet4
) 2;
netmask = self.lib.netmasks.${prefixLength};
in ''
in
if netConfig.vlan != null
then ''
send "vlan ${vlan}\r"
expect -- "-vlan${vlan}]"
send "name ${net}\r"
@ -70,7 +72,9 @@ with lib;
''}
send "quit\r"
expect "${hostName}]"
'') (sortNetsByVlan (builtins.attrNames config.site.net))
''
else ""
) (sortNetsByVlan (builtins.attrNames config.site.net))
}
${concatMapStrings (name:

View File

@ -37,7 +37,7 @@ with lib;
send "logging facility local6\r"
expect "(config)# "
# todo ntp
# TODO ntp
# timesync sntp
# ip timep manual {#ntp#} interval 10
@ -51,7 +51,9 @@ with lib;
builtins.split "/" netConfig.subnet4
) 2;
netmask = self.lib.netmasks.${prefixLength};
in ''
in
if netConfig.vlan != null
then ''
send "vlan ${vlan}\r"
expect "(vlan-${vlan})#"
@ -81,7 +83,9 @@ with lib;
send "no vlan ${vlan} untagged all\r"
expect "(config)# "
''}
'') (sortNetsByVlan (builtins.attrNames config.site.net))
''
else ""
) (sortNetsByVlan (builtins.attrNames config.site.net))
}
${concatMapStrings (name:

View File

@ -60,7 +60,9 @@ with lib;
builtins.split "/" netConfig.subnet4
) 2;
netmask = self.lib.netmasks.${prefixLength};
in ''
in
if netConfig.vlan != null
then ''
${optionalString (net != "mgmt") ''
send "vlan ${vlan}\r"
expect "(config-vlan)#"
@ -80,6 +82,7 @@ with lib;
send "exit\r"
expect "(config)#"
''
else ""
) (sortNetsByVlan (builtins.attrNames config.site.net))}
${concatMapStrings (name:

View File

@ -33,21 +33,35 @@ with lib;
send "vlan database\r"
expect "(config-vlan)# "
${concatMapStrings (net: ''
send "vlan ${toString config.site.net.${net}.vlan}\r"
${concatMapStrings (net:
let
netConfig = config.site.net.${net};
in
if netConfig.vlan != null
then ''
send "vlan ${toString netConfig.vlan}\r"
expect "(config-vlan)#"
'') (sortNetsByVlan (builtins.attrNames config.site.net))}
''
else ""
) (sortNetsByVlan (builtins.attrNames config.site.net))}
send "exit\r"
expect "(config)#"
${concatMapStrings (net: ''
${concatMapStrings (net:
let
netConfig = config.site.net.${net};
in
if netConfig.vlan != null
then ''
send "interface vlan ${toString config.site.net.${net}.vlan}\r"
expect "(config-if)#"
send "name ${net}\r"
expect "(config-if)#"
send "exit\r"
expect "(config)#"
'') (sortNetsByVlan (builtins.attrNames config.site.net))}
''
else ""
) (sortNetsByVlan (builtins.attrNames config.site.net))}
${concatMapStrings (name:
let