diff options
| author | Adam Greene <github@mzpqnxow.com> | 2025-10-09 16:55:08 -0400 |
|---|---|---|
| committer | Adam Greene <github@mzpqnxow.com> | 2025-10-10 16:37:20 -0400 |
| commit | 04434b1e82d2aac2fa9d1690dc6d38e3ea6872f6 (patch) | |
| tree | fe46c2ee8e67ea009da67bc73aba0beffddc1158 | |
| parent | a1be2ee22cd058d5e18e6ef4fb3ec6468a38aa37 (diff) | |
| download | vyos-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.i | 12 | ||||
| -rw-r--r-- | python/vyos/kea.py | 1 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_service_dhcp-server.py | 7 |
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( |
