diff options
| author | Nicolas Vollmar <nvollmar@gmail.com> | 2024-11-17 10:47:22 +0100 | 
|---|---|---|
| committer | Nicolas Vollmar <nvollmar@gmail.com> | 2024-11-18 08:32:08 +0100 | 
| commit | 82b73dc8d7ad06b7d621d34063db01e88321d7df (patch) | |
| tree | 3fe66fa981e1f666266ab54fa144a5fde27ec430 | |
| parent | 99f414cc69730cb5a33c6d1891e6f7e5e4f3dd16 (diff) | |
| download | vyos-1x-82b73dc8d7ad06b7d621d34063db01e88321d7df.tar.gz vyos-1x-82b73dc8d7ad06b7d621d34063db01e88321d7df.zip | |
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..2441ac410 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-1500.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) | 
