diff --git a/src/initrd/nmi-cmdline-reader.c b/src/initrd/nmi-cmdline-reader.c index b2969d90d4..c12dc6dded 100644 --- a/src/initrd/nmi-cmdline-reader.c +++ b/src/initrd/nmi-cmdline-reader.c @@ -694,6 +694,9 @@ reader_parse_master (Reader *reader, mtu = get_word (&argument, ':'); } + if (mtu) + connection_set (connection, NM_SETTING_WIRED_SETTING_NAME, NM_SETTING_WIRED_MTU, mtu); + do { slave = get_word (&slaves, ','); if (slave == NULL) @@ -705,8 +708,6 @@ reader_parse_master (Reader *reader, NM_SETTING_CONNECTION_SLAVE_TYPE, type_name, NM_SETTING_CONNECTION_MASTER, master, NULL); - if (mtu) - connection_set (connection, NM_SETTING_WIRED_SETTING_NAME, NM_SETTING_WIRED_MTU, mtu); } while (slaves && *slaves != '\0'); if (argument && *argument) diff --git a/src/initrd/tests/test-cmdline-reader.c b/src/initrd/tests/test-cmdline-reader.c index 0ffb0906f1..6860cda4ab 100644 --- a/src/initrd/tests/test-cmdline-reader.c +++ b/src/initrd/tests/test-cmdline-reader.c @@ -704,13 +704,14 @@ test_bond (void) { gs_unref_hashtable GHashTable *connections = NULL; const char *const*ARGV = NM_MAKE_STRV ("rd.route=192.0.2.53::bong0", - "bond=bong0:eth0,eth1:mode=balance-rr", + "bond=bong0:eth0,eth1:mode=balance-rr:9000", "nameserver=203.0.113.53"); NMConnection *connection; NMSettingConnection *s_con; NMSettingIPConfig *s_ip4; NMSettingIPConfig *s_ip6; NMSettingBond *s_bond; + NMSettingWired *s_wired; NMIPRoute *ip_route; const char *master_uuid; gs_free char *hostname = NULL; @@ -728,6 +729,10 @@ test_bond (void) master_uuid = nm_connection_get_uuid (connection); g_assert (master_uuid); + s_wired = nm_connection_get_setting_wired (connection); + g_assert (s_wired); + g_assert_cmpint (nm_setting_wired_get_mtu (s_wired), ==, 9000); + s_ip4 = nm_connection_get_setting_ip4_config (connection); g_assert (s_ip4); g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);