From 04434b1e82d2aac2fa9d1690dc6d38e3ea6872f6 Mon Sep 17 00:00:00 2001 From: Adam Greene Date: Thu, 9 Oct 2025 16:55:08 -0400 Subject: dhcp-server: T7723: add DHCP Option 26 (interface MTU) --- interface-definitions/include/dhcp/option-v4.xml.i | 12 ++++++++++++ python/vyos/kea.py | 1 + smoketest/scripts/cli/test_service_dhcp-server.py | 7 +++++++ 3 files changed, 20 insertions(+) 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 @@ + + + Interface MTU + + u16:576-9000 + Client interface MTU + + + + + + Enable IP forwarding on client 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( -- cgit v1.2.3