1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-09-05 01:45:07 +03:00

Merge pull request #21209 from yuwata/veth-peer-mtu

network: also set MTU for veth peer interface
This commit is contained in:
Daan De Meyer
2021-11-02 09:58:39 +00:00
committed by GitHub
4 changed files with 32 additions and 2 deletions

View File

@@ -34,6 +34,12 @@ static int netdev_veth_fill_message_create(NetDev *netdev, Link *link, sd_netlin
return log_netdev_error_errno(netdev, r, "Could not append IFLA_ADDRESS attribute: %m"); return log_netdev_error_errno(netdev, r, "Could not append IFLA_ADDRESS attribute: %m");
} }
if (netdev->mtu != 0) {
r = sd_netlink_message_append_u32(m, IFLA_MTU, netdev->mtu);
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MTU attribute: %m");
}
r = sd_netlink_message_close_container(m); r = sd_netlink_message_close_container(m);
if (r < 0) if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_INFO_DATA attribute: %m"); return log_netdev_error_errno(netdev, r, "Could not append IFLA_INFO_DATA attribute: %m");

View File

@@ -0,0 +1,10 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[NetDev]
Name=veth-mtu
Kind=veth
MACAddress=12:34:56:78:9a:be
MTUBytes=1800
[Peer]
Name=veth-mtu-peer
MACAddress=12:34:56:78:9a:bf

View File

@@ -8,6 +8,8 @@ Name=macvlan99
Name=macvtap99 Name=macvtap99
Name=veth99 Name=veth99
Name=veth-peer Name=veth-peer
Name=veth-mtu
Name=veth-mtu-peer
Name=vcan99 Name=vcan99
Name=vxcan99 Name=vxcan99
Name=vxcan-peer Name=vxcan-peer

View File

@@ -904,6 +904,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
'test1', 'test1',
'tun99', 'tun99',
'vcan99', 'vcan99',
'veth-mtu',
'veth99', 'veth99',
'vlan99', 'vlan99',
'vrf99', 'vrf99',
@@ -994,6 +995,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
'25-tunnel-remote-any.network', '25-tunnel-remote-any.network',
'25-tunnel.network', '25-tunnel.network',
'25-vcan.netdev', '25-vcan.netdev',
'25-veth-mtu.netdev',
'25-veth.netdev', '25-veth.netdev',
'25-vrf.netdev', '25-vrf.netdev',
'25-vti6-tunnel-any-any.netdev', '25-vti6-tunnel-any-any.netdev',
@@ -1282,10 +1284,11 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
self.assertRegex(output, 'ipvtap *mode ' + mode.lower() + ' ' + flag) self.assertRegex(output, 'ipvtap *mode ' + mode.lower() + ' ' + flag)
def test_veth(self): def test_veth(self):
copy_unit_to_networkd_unit_path('25-veth.netdev', 'netdev-link-local-addressing-yes.network') copy_unit_to_networkd_unit_path('25-veth.netdev', 'netdev-link-local-addressing-yes.network',
'25-veth-mtu.netdev')
start_networkd() start_networkd()
self.wait_online(['veth99:degraded', 'veth-peer:degraded']) self.wait_online(['veth99:degraded', 'veth-peer:degraded', 'veth-mtu:degraded', 'veth-mtu-peer:degraded'])
output = check_output('ip -d link show veth99') output = check_output('ip -d link show veth99')
print(output) print(output)
@@ -1294,6 +1297,15 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
print(output) print(output)
self.assertRegex(output, 'link/ether 12:34:56:78:9a:bd') self.assertRegex(output, 'link/ether 12:34:56:78:9a:bd')
output = check_output('ip -d link show veth-mtu')
print(output)
self.assertRegex(output, 'link/ether 12:34:56:78:9a:be')
self.assertRegex(output, 'mtu 1800')
output = check_output('ip -d link show veth-mtu-peer')
print(output)
self.assertRegex(output, 'link/ether 12:34:56:78:9a:bf')
self.assertRegex(output, 'mtu 1800')
def test_tun(self): def test_tun(self):
copy_unit_to_networkd_unit_path('25-tun.netdev') copy_unit_to_networkd_unit_path('25-tun.netdev')
start_networkd() start_networkd()