summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2019-11-07 15:29:31 +0100
committerLubomir Rintel <lkundrak@v3.sk>2019-11-07 15:30:34 +0100
commit2c1857033576dd38110020455d75a3b19429bf4c (patch)
tree37a00c1a3a42d225ceb098fee2ae4705e08855c6
parent4a870c57f52d7f0447c5a11145dca3d46ca57a5c (diff)
downloadNetworkManager-lr/initrd-br0.tar.gz
initrd: default bridge name to br0 as opposed to bridge0lr/initrd-br0
For compatibility. The dracut.cmdline(7) manual says: Bridge without parameters assumes bridge=br0:eth0
-rw-r--r--src/initrd/nmi-cmdline-reader.c13
-rw-r--r--src/initrd/tests/test-cmdline-reader.c4
2 files changed, 10 insertions, 7 deletions
diff --git a/src/initrd/nmi-cmdline-reader.c b/src/initrd/nmi-cmdline-reader.c
index a4f4687651..b00ca5962d 100644
--- a/src/initrd/nmi-cmdline-reader.c
+++ b/src/initrd/nmi-cmdline-reader.c
@@ -473,7 +473,10 @@ parse_ip (GHashTable *connections, const char *sysfs_dir, char *argument)
}
static void
-parse_master (GHashTable *connections, char *argument, const char *type_name)
+parse_master (GHashTable *connections,
+ char *argument,
+ const char *type_name,
+ const char *default_name)
{
NMConnection *connection;
NMSettingConnection *s_con;
@@ -489,7 +492,7 @@ parse_master (GHashTable *connections, char *argument, const char *type_name)
master = get_word (&argument, ':');
if (!master)
- master = master_to_free = g_strdup_printf ("%s0", type_name);
+ master = master_to_free = g_strdup_printf ("%s0", default_name ?: type_name);
slaves = get_word (&argument, ':');
connection = get_conn (connections, master, type_name);
@@ -796,11 +799,11 @@ nmi_cmdline_reader_parse (const char *sysfs_dir, const char *const*argv)
else if (strcmp (tag, "rd.route") == 0)
parse_rd_route (connections, argument);
else if (strcmp (tag, "bridge") == 0)
- parse_master (connections, argument, NM_SETTING_BRIDGE_SETTING_NAME);
+ parse_master (connections, argument, NM_SETTING_BRIDGE_SETTING_NAME, "br");
else if (strcmp (tag, "bond") == 0)
- parse_master (connections, argument, NM_SETTING_BOND_SETTING_NAME);
+ parse_master (connections, argument, NM_SETTING_BOND_SETTING_NAME, NULL);
else if (strcmp (tag, "team") == 0)
- parse_master (connections, argument, NM_SETTING_TEAM_SETTING_NAME);
+ parse_master (connections, argument, NM_SETTING_TEAM_SETTING_NAME, NULL);
else if (strcmp (tag, "vlan") == 0)
parse_vlan (connections, argument);
else if (strcmp (tag, "bootdev") == 0)
diff --git a/src/initrd/tests/test-cmdline-reader.c b/src/initrd/tests/test-cmdline-reader.c
index a69c374147..35935e7c07 100644
--- a/src/initrd/tests/test-cmdline-reader.c
+++ b/src/initrd/tests/test-cmdline-reader.c
@@ -636,12 +636,12 @@ test_bridge_default (void)
g_assert (connections);
g_assert_cmpint (g_hash_table_size (connections), ==, 2);
- connection = g_hash_table_lookup (connections, "bridge0");
+ connection = g_hash_table_lookup (connections, "br0");
g_assert (connection);
nmtst_assert_connection_verifies_without_normalization (connection);
g_assert_cmpstr (nm_connection_get_connection_type (connection), ==, NM_SETTING_BRIDGE_SETTING_NAME);
- g_assert_cmpstr (nm_connection_get_id (connection), ==, "bridge0");
+ g_assert_cmpstr (nm_connection_get_id (connection), ==, "br0");
master_uuid = nm_connection_get_uuid (connection);
g_assert (master_uuid);