summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Kollmyer <bradk@vitalsoft.com>2026-07-15 12:17:15 -0700
committerChristian Breunig <christian@breunig.cc>2026-07-23 18:03:05 +0200
commit9efa7b2ecc9b1b54f0a1fbea46ccda86aafaaef5 (patch)
treef468f93e22b913bc03ef6848b286afd8217f0aa2
parentbd2fd51935b054f884830ba12bfb3153cb6a4cb3 (diff)
downloadvyos-1x-9efa7b2ecc9b1b54f0a1fbea46ccda86aafaaef5.tar.gz
vyos-1x-9efa7b2ecc9b1b54f0a1fbea46ccda86aafaaef5.zip
dhcp-server: T9093: allow option interface-mtu up to 16000
DHCP option 26 (Interface MTU, RFC 2132) is a 16-bit unsigned value and Kea accepts the full range, but the CLI validator capped it at 9000 - below the 9216 used on common jumbo fabrics and below VyOS's own interface MTU maximum of 16000. Relax the constraint to 576-16000 and exercise a jumbo value (9216) in the smoketest. Co-authored-by: Christian Breunig <christian@breunig.cc>
-rw-r--r--interface-definitions/include/dhcp/option-v4.xml.i4
-rwxr-xr-xsmoketest/scripts/cli/test_service_dhcp-server.py4
2 files changed, 5 insertions, 3 deletions
diff --git a/interface-definitions/include/dhcp/option-v4.xml.i b/interface-definitions/include/dhcp/option-v4.xml.i
index 0f446c9a9..177e1aa7e 100644
--- a/interface-definitions/include/dhcp/option-v4.xml.i
+++ b/interface-definitions/include/dhcp/option-v4.xml.i
@@ -87,11 +87,11 @@
<properties>
<help>Interface MTU</help>
<valueHelp>
- <format>u16:576-9000</format>
+ <format>u16:576-16000</format>
<description>Client interface MTU</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 576-9000"/>
+ <validator name="numeric" argument="--range 576-16000"/>
</constraint>
</properties>
</leafNode>
diff --git a/smoketest/scripts/cli/test_service_dhcp-server.py b/smoketest/scripts/cli/test_service_dhcp-server.py
index d743b4e28..a544198c6 100755
--- a/smoketest/scripts/cli/test_service_dhcp-server.py
+++ b/smoketest/scripts/cli/test_service_dhcp-server.py
@@ -420,7 +420,9 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
server_identifier = bootfile_server
ipv6_only_preferred = '300'
capwap_access_controller = '192.168.2.125'
- interface_mtu = '1420'
+ # 9216: jumbo-fabric MTU above the former arbitrary 9000 cap
+ # (DHCP option 26 is a full u16)
+ interface_mtu = '9216'
pool = base_path + ['shared-network-name', shared_net_name, 'subnet', subnet]
self.cli_set(pool + ['subnet-id', '1'])