mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-03-01 11:30:31 +01:00
ovs: set MTU from connection when creating an internal interface
The ovs-vswitchd.conf.db(5) man page says about the the mtu_request column in the Interface table: "Requested MTU (Maximum Transmission Unit) for the interface. A client can fill this column to change the MTU of an interface [...] If this is not set and if the interface has internal type, Open vSwitch will change the MTU to match the minimum of the other interfaces in the bridge." Therefore, if the connection specifies a MTU, set it early when adding the interface to the ovsdb so that it will not be changed to the minimum of other interfaces. (cherry picked from commitad12f26312) (cherry picked from commit7311d5e294) (cherry picked from commitb81370f70b)
This commit is contained in:
parent
021141481e
commit
59787018c9
1 changed files with 12 additions and 0 deletions
|
|
@ -367,11 +367,20 @@ _insert_interface (json_t *params, NMConnection *interface, NMDevice *interface_
|
|||
gs_free char *cloned_mac = NULL;
|
||||
gs_free_error GError *error = NULL;
|
||||
json_t *row;
|
||||
guint32 mtu = 0;
|
||||
|
||||
s_ovs_iface = nm_connection_get_setting_ovs_interface (interface);
|
||||
if (s_ovs_iface)
|
||||
type = nm_setting_ovs_interface_get_interface_type (s_ovs_iface);
|
||||
|
||||
if (nm_streq0 (type, "internal")) {
|
||||
NMSettingWired *s_wired;
|
||||
|
||||
s_wired = _nm_connection_get_setting (interface, NM_TYPE_SETTING_WIRED);
|
||||
if (s_wired)
|
||||
mtu = nm_setting_wired_get_mtu (s_wired);
|
||||
}
|
||||
|
||||
if (!nm_device_hw_addr_get_cloned (interface_device,
|
||||
interface,
|
||||
FALSE,
|
||||
|
|
@ -404,6 +413,9 @@ _insert_interface (json_t *params, NMConnection *interface, NMDevice *interface_
|
|||
if (cloned_mac)
|
||||
json_object_set_new (row, "mac", json_string (cloned_mac));
|
||||
|
||||
if (mtu != 0)
|
||||
json_object_set_new (row, "mtu_request", json_integer (mtu));
|
||||
|
||||
json_array_append_new (params,
|
||||
json_pack ("{s:s, s:s, s:o, s:s}",
|
||||
"op", "insert",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue