@expectedFailureIfModuleIsNotAvailable('ipvlan')
def test_ipvlan(self):
- self.copy_unit_to_networkd_unit_path('25-ipvlan.netdev', '11-dummy.netdev', 'ipvlan.network')
- self.start_networkd(0)
+ for mode, flag in [['L2', 'private'], ['L3', 'vepa'], ['L3S', 'bridge']]:
+ with self.subTest(mode=mode, flag=flag):
+ if mode != 'L2':
+ self.tearDown()
+ self.copy_unit_to_networkd_unit_path('25-ipvlan.netdev', '11-dummy.netdev', 'ipvlan.network')
+ with open(os.path.join(network_unit_file_path, '25-ipvlan.netdev'), mode='a') as f:
+ f.write('[IPVLAN]\nMode=' + mode + '\nFlags=' + flag)
- self.wait_online(['ipvlan99:off', 'test1:degraded'])
+ self.start_networkd(0)
+ self.wait_online(['ipvlan99:off', 'test1:degraded'])
+
+ output = subprocess.check_output(['ip', '-d', 'link', 'show', 'ipvlan99'], universal_newlines=True).rstrip()
+ print(output)
+ self.assertRegex(output, 'ipvlan *mode ' + mode.lower() + ' ' + flag)
@expectedFailureIfModuleIsNotAvailable('ipvtap')
def test_ipvtap(self):