mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-09 05:00:36 +01:00
team: allow overriding the MTU for team device (rh #1255927)
Set the MTU if 802-3-ethernet.mtu is present and non-zero. The ifcfg-rh writer
sets it if there's a MTU key.
The same change as for bond in commit a169a79a7d.
https://bugzilla.redhat.com/show_bug.cgi?id=1255927
This commit is contained in:
parent
905220b337
commit
7d3a4178a5
1 changed files with 21 additions and 0 deletions
|
|
@ -35,6 +35,7 @@
|
|||
#include "nm-enum-types.h"
|
||||
#include "nm-team-enum-types.h"
|
||||
#include "nm-core-internal.h"
|
||||
#include "nm-ip4-config.h"
|
||||
#include "nm-dbus-compat.h"
|
||||
|
||||
#include "nmdbus-device-team.h"
|
||||
|
|
@ -559,6 +560,25 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
|
|||
NM_ACT_STAGE_RETURN_POSTPONE : NM_ACT_STAGE_RETURN_FAILURE;
|
||||
}
|
||||
|
||||
static void
|
||||
ip4_config_pre_commit (NMDevice *self, NMIP4Config *config)
|
||||
{
|
||||
NMConnection *connection;
|
||||
NMSettingWired *s_wired;
|
||||
guint32 mtu;
|
||||
|
||||
connection = nm_device_get_connection (self);
|
||||
g_assert (connection);
|
||||
s_wired = nm_connection_get_setting_wired (connection);
|
||||
|
||||
if (s_wired) {
|
||||
/* MTU override */
|
||||
mtu = nm_setting_wired_get_mtu (s_wired);
|
||||
if (mtu)
|
||||
nm_ip4_config_set_mtu (config, mtu, NM_IP_CONFIG_SOURCE_USER);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
deactivate (NMDevice *device)
|
||||
{
|
||||
|
|
@ -801,6 +821,7 @@ nm_device_team_class_init (NMDeviceTeamClass *klass)
|
|||
parent_class->master_update_slave_connection = master_update_slave_connection;
|
||||
|
||||
parent_class->act_stage1_prepare = act_stage1_prepare;
|
||||
parent_class->ip4_config_pre_commit = ip4_config_pre_commit;
|
||||
parent_class->deactivate = deactivate;
|
||||
parent_class->enslave_slave = enslave_slave;
|
||||
parent_class->release_slave = release_slave;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue