diff options
author | Daniil Baturin <daniil@vyos.io> | 2024-11-19 10:26:04 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-19 10:26:04 +0000 |
commit | 8f76c96cb4d7132b7654aa5f37e8ab49fa2e137a (patch) | |
tree | 7c54f39246450265a8fe0508681f47699f7089b1 | |
parent | 99f414cc69730cb5a33c6d1891e6f7e5e4f3dd16 (diff) | |
parent | f3da16e0da459027c1552b50f8a722cd75050630 (diff) | |
download | vyos-1x-8f76c96cb4d7132b7654aa5f37e8ab49fa2e137a.tar.gz vyos-1x-8f76c96cb4d7132b7654aa5f37e8ab49fa2e137a.zip |
Merge pull request #4195 from nvollmar/T6884
T6884: adds mtu option for container networks
-rw-r--r-- | interface-definitions/container.xml.in | 1 | ||||
-rwxr-xr-x | smoketest/scripts/cli/test_container.py | 16 | ||||
-rwxr-xr-x | src/conf_mode/container.py | 6 |
3 files changed, 23 insertions, 0 deletions
diff --git a/interface-definitions/container.xml.in b/interface-definitions/container.xml.in index 3dd1b3249..bd2ff820d 100644 --- a/interface-definitions/container.xml.in +++ b/interface-definitions/container.xml.in @@ -501,6 +501,7 @@ </properties> <children> #include <include/generic-description.xml.i> + #include <include/interface/mtu-68-16000.xml.i> <leafNode name="prefix"> <properties> <help>Prefix which allocated to that network</help> diff --git a/smoketest/scripts/cli/test_container.py b/smoketest/scripts/cli/test_container.py index c03b9eb44..0541384da 100755 --- a/smoketest/scripts/cli/test_container.py +++ b/smoketest/scripts/cli/test_container.py @@ -224,6 +224,22 @@ class TestContainer(VyOSUnitTestSHIM.TestCase): n = cmd_to_json(f'sudo podman network inspect {net_name}') self.assertEqual(n['dns_enabled'], False) + def test_network_mtu(self): + prefix = '192.0.2.0/24' + base_name = 'ipv4' + net_name = 'NET01' + + self.cli_set(base_path + ['network', net_name, 'prefix', prefix]) + self.cli_set(base_path + ['network', net_name, 'mtu', '1280']) + + name = f'{base_name}-2' + self.cli_set(base_path + ['name', name, 'image', cont_image]) + self.cli_set(base_path + ['name', name, 'network', net_name, 'address', str(ip_interface(prefix).ip + 2)]) + self.cli_commit() + + n = cmd_to_json(f'sudo podman network inspect {net_name}') + self.assertEqual(n['options']['mtu'], '1280') + def test_uid_gid(self): cont_name = 'uid-test' gid = '100' diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py index 14387cbbf..a7dc33d9d 100755 --- a/src/conf_mode/container.py +++ b/src/conf_mode/container.py @@ -419,12 +419,18 @@ def generate(container): 'dns_enabled': True, 'ipam_options': { 'driver': 'host-local' + }, + 'options': { + 'mtu': '1500' } } if 'no_name_server' in network_config: tmp['dns_enabled'] = False + if 'mtu' in network_config: + tmp['options']['mtu'] = network_config['mtu'] + for prefix in network_config['prefix']: net = {'subnet': prefix, 'gateway': inc_ip(prefix, 1)} tmp['subnets'].append(net) |