From 81d83b9e00ffae8f744c15ca696a7d4fb5badfd5 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 31 Dec 2019 03:37:48 +0100 Subject: [PATCH] platform: support setting MAC address during nm_platform_link_gre_add() We should set the MAC address of devices early on, and not later. --- src/devices/nm-device-ip-tunnel.c | 7 ++++++- src/platform/nm-platform.h | 4 +++- src/platform/tests/test-common.c | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/devices/nm-device-ip-tunnel.c b/src/devices/nm-device-ip-tunnel.c index 0becb5e568..c84ff3a587 100644 --- a/src/devices/nm-device-ip-tunnel.c +++ b/src/devices/nm-device-ip-tunnel.c @@ -702,7 +702,12 @@ create_and_realize (NMDevice *device, lnk_gre.output_flags = NM_GRE_KEY; } - r = nm_platform_link_gre_add (nm_device_get_platform (device), iface, &lnk_gre, out_plink); + r = nm_platform_link_gre_add (nm_device_get_platform (device), + iface, + NULL, + 0, + &lnk_gre, + out_plink); if (r < 0) { g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_CREATION_FAILED, "Failed to create GRE interface '%s' for '%s': %s", diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h index f2632a1fd0..8d1a3d3865 100644 --- a/src/platform/nm-platform.h +++ b/src/platform/nm-platform.h @@ -1387,12 +1387,14 @@ nm_platform_link_wireguard_add (NMPlatform *self, static inline int nm_platform_link_gre_add (NMPlatform *self, const char *name, + const void *address, + size_t address_len, const NMPlatformLnkGre *props, const NMPlatformLink **out_link) { g_return_val_if_fail (props, -NME_BUG); - return nm_platform_link_add (self, props->is_tap ? NM_LINK_TYPE_GRETAP : NM_LINK_TYPE_GRE, name, 0, NULL, 0, props, out_link); + return nm_platform_link_add (self, props->is_tap ? NM_LINK_TYPE_GRETAP : NM_LINK_TYPE_GRE, name, 0, address, address_len, props, out_link); } static inline int diff --git a/src/platform/tests/test-common.c b/src/platform/tests/test-common.c index 7d31e920b8..906deeada6 100644 --- a/src/platform/tests/test-common.c +++ b/src/platform/tests/test-common.c @@ -1265,7 +1265,7 @@ nmtstp_link_gre_add (NMPlatform *platform, if (success) pllink = nmtstp_assert_wait_for_link (platform, name, link_type, 100); } else - success = NMTST_NM_ERR_SUCCESS (nm_platform_link_gre_add (platform, name, lnk, &pllink)); + success = NMTST_NM_ERR_SUCCESS (nm_platform_link_gre_add (platform, name, NULL, 0, lnk, &pllink)); _assert_pllink (platform, success, pllink, name, link_type);