summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Greene <github@mzpqnxow.com>2025-10-09 16:55:08 -0400
committerAdam Greene <github@mzpqnxow.com>2025-10-10 16:37:20 -0400
commit04434b1e82d2aac2fa9d1690dc6d38e3ea6872f6 (patch)
treefe46c2ee8e67ea009da67bc73aba0beffddc1158
parenta1be2ee22cd058d5e18e6ef4fb3ec6468a38aa37 (diff)
downloadvyos-1x-04434b1e82d2aac2fa9d1690dc6d38e3ea6872f6.tar.gz
vyos-1x-04434b1e82d2aac2fa9d1690dc6d38e3ea6872f6.zip
dhcp-server: T7723: add DHCP Option 26 (interface MTU)
-rw-r--r--interface-definitions/include/dhcp/option-v4.xml.i12
-rw-r--r--python/vyos/kea.py1
-rwxr-xr-xsmoketest/scripts/cli/test_service_dhcp-server.py7
3 files changed, 20 insertions, 0 deletions
diff --git a/interface-definitions/include/dhcp/option-v4.xml.i b/interface-definitions/include/dhcp/option-v4.xml.i
index 08fbcca4a..0f446c9a9 100644
--- a/interface-definitions/include/dhcp/option-v4.xml.i
+++ b/interface-definitions/include/dhcp/option-v4.xml.i
@@ -83,6 +83,18 @@
</constraint>
</properties>
</leafNode>
+ <leafNode name="interface-mtu">
+ <properties>
+ <help>Interface MTU</help>
+ <valueHelp>
+ <format>u16:576-9000</format>
+ <description>Client interface MTU</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 576-9000"/>
+ </constraint>
+ </properties>
+ </leafNode>
<leafNode name="ip-forwarding">
<properties>
<help>Enable IP forwarding on client</help>
diff --git a/python/vyos/kea.py b/python/vyos/kea.py
index f3334a688..5ce6f47f1 100644
--- a/python/vyos/kea.py
+++ b/python/vyos/kea.py
@@ -45,6 +45,7 @@ kea4_options = {
'ipv6_only_preferred': 'v6-only-preferred',
'captive_portal': 'v4-captive-portal',
'capwap_controller': 'capwap-ac-v4',
+ 'interface_mtu': 'interface-mtu',
}
kea6_options = {
diff --git a/smoketest/scripts/cli/test_service_dhcp-server.py b/smoketest/scripts/cli/test_service_dhcp-server.py
index 94044f8b2..ec8d08388 100755
--- a/smoketest/scripts/cli/test_service_dhcp-server.py
+++ b/smoketest/scripts/cli/test_service_dhcp-server.py
@@ -224,6 +224,7 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
server_identifier = bootfile_server
ipv6_only_preferred = '300'
capwap_access_controller = '192.168.2.125'
+ interface_mtu = '1420'
pool = base_path + ['shared-network-name', shared_net_name, 'subnet', subnet]
self.cli_set(pool + ['subnet-id', '1'])
@@ -232,6 +233,7 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
self.cli_set(pool + ['option', 'name-server', dns_1])
self.cli_set(pool + ['option', 'name-server', dns_2])
self.cli_set(pool + ['option', 'domain-name', domain_name])
+ self.cli_set(pool + ['option', 'interface-mtu', interface_mtu])
self.cli_set(pool + ['option', 'ip-forwarding'])
self.cli_set(pool + ['option', 'smtp-server', smtp_server])
self.cli_set(pool + ['option', 'pop-server', smtp_server])
@@ -364,6 +366,11 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
['Dhcp4', 'shared-networks', 0, 'subnet4', 0, 'option-data'],
{'name': 'ip-forwarding', 'data': 'true'},
)
+ self.verify_config_object(
+ obj,
+ ['Dhcp4', 'shared-networks', 0, 'subnet4', 0, 'option-data'],
+ {'name': 'interface-mtu', 'data': interface_mtu},
+ )
# Time zone
self.verify_config_object(