From b35df8fce74aa71cd56d1efd42af334f9cbe2f52 Mon Sep 17 00:00:00 2001 From: Matthew Grotke Date: Wed, 27 May 2026 04:25:38 -0400 Subject: [PATCH] Development --- docker/routlin-dash/app/action_networklayout.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docker/routlin-dash/app/action_networklayout.py b/docker/routlin-dash/app/action_networklayout.py index 4064189..56c8011 100644 --- a/docker/routlin-dash/app/action_networklayout.py +++ b/docker/routlin-dash/app/action_networklayout.py @@ -158,6 +158,13 @@ def networklayout_tablevlans_edit(): is_vpn = existing.get('is_vpn', False) final_mask = subnet_mask if subnet_mask is not None else existing.get('subnet_mask', 24) + if identity_ips: + _vlan_net = ipaddress.IPv4Network(f'{subnet}/{final_mask}', strict=False) + for _ip in identity_ips: + if ipaddress.IPv4Address(_ip) not in _vlan_net: + flash(f"Server identity IP '{_ip}' is not in the VLAN subnet ({subnet}/{final_mask}).", 'error') + return redirect(VIEW) + vlan_id = validate.derive_vlan_id(subnet, final_mask) if vlan_id is None: flash('Cannot derive a valid VLAN ID (1-4094) from this subnet/prefix combination.', 'error')