From 9d5be8018485fe5cd8650f283abe863cf48073c9 Mon Sep 17 00:00:00 2001 From: Devdatt Bhatt Date: Mon, 8 Jun 2026 08:58:57 +0000 Subject: [PATCH] netplan update --- html/network.php | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/html/network.php b/html/network.php index 323fbad..b63b57a 100755 --- a/html/network.php +++ b/html/network.php @@ -85,12 +85,37 @@ function generate_netplan_config($config) $netplan_content .= " dhcp4: true\n"; break; case 'static': - $netplan_content .= " addresses:\n - " . $settings['ip'] . "/24\n"; + $netplan_content .= " addresses:\n"; + $netplan_content .= " - " . $settings['ip'] . "/24\n"; + + $hasRoutes = false; + + // Default gateway if (!empty($settings['gateway'])) { - $netplan_content .= " gateway4: " . $settings['gateway'] . "\n"; + if (!$hasRoutes) { + $netplan_content .= " routes:\n"; + $hasRoutes = true; + } + + $netplan_content .= " - to: default\n"; + $netplan_content .= " via: " . $settings['gateway'] . "\n"; } + + // Multicast route + if (($settings['multicast'] ?? 'off') === 'on') { + if (!$hasRoutes) { + $netplan_content .= " routes:\n"; + $hasRoutes = true; + } + + $netplan_content .= " - to: 224.0.0.0/4\n"; + $netplan_content .= " scope: link\n"; + } + if (!empty($settings['dns'])) { - $netplan_content .= " nameservers:\n addresses:\n - " . $settings['dns'] . "\n"; + $netplan_content .= " nameservers:\n"; + $netplan_content .= " addresses:\n"; + $netplan_content .= " - " . $settings['dns'] . "\n"; } break; case 'disable':