Development
This commit is contained in:
parent
cc2f57aa83
commit
74166f03bd
11 changed files with 986 additions and 61 deletions
|
|
@ -701,6 +701,19 @@ def validate_config(data):
|
|||
errors.append(f"Multiple VLANs have radius_default: true ({', '.join(defaults)}). "
|
||||
f"Only one VLAN may be the RADIUS default.")
|
||||
|
||||
# -- RADIUS requires multiple VLANs ----------------------------------------
|
||||
non_wg_vlans = [v for v in data.get("vlans", []) if not is_wg(v)]
|
||||
has_radius_clients = any(
|
||||
r.get("radius_client")
|
||||
for v in non_wg_vlans
|
||||
for r in v.get("reservations", [])
|
||||
)
|
||||
if has_radius_clients and len(non_wg_vlans) < 2:
|
||||
errors.append(
|
||||
"RADIUS clients are configured but only one non-VPN VLAN exists. "
|
||||
"Dynamic VLAN assignment requires at least two VLANs."
|
||||
)
|
||||
|
||||
# -- host_overrides validation ---------------------------------------------
|
||||
all_vlan_nets = list(vlan_networks.values())
|
||||
for idx, entry in enumerate(data.get("host_overrides", [])):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue