From 3d396d6f72db7c15e92e4f21c70c2d708c0676fa Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 7 Mar 2014 13:30:30 +0100 Subject: [PATCH] platform: react on udev signal "move" Signed-off-by: Thomas Haller --- src/platform/nm-linux-platform.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index a289994988..f62108e209 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -3036,6 +3036,7 @@ udev_device_added (NMPlatform *platform, auto_nl_object struct rtnl_link *rtnllink = NULL; const char *ifname; int ifindex; + gboolean is_changed; ifname = g_udev_device_get_name (udev_device); if (!ifname) { @@ -3055,6 +3056,7 @@ udev_device_added (NMPlatform *platform, return; } + is_changed = g_hash_table_lookup_extended (priv->udev_devices, GINT_TO_POINTER (ifindex), NULL, NULL); g_hash_table_insert (priv->udev_devices, GINT_TO_POINTER (ifindex), g_object_ref (udev_device)); @@ -3065,7 +3067,7 @@ udev_device_added (NMPlatform *platform, return; } - announce_object (platform, (struct nl_object *) rtnllink, ADDED, NM_PLATFORM_REASON_EXTERNAL); + announce_object (platform, (struct nl_object *) rtnllink, is_changed ? CHANGED : ADDED, NM_PLATFORM_REASON_EXTERNAL); } static void @@ -3128,7 +3130,7 @@ handle_udev_event (GUdevClient *client, action, subsys, g_udev_device_get_name (udev_device), ifindex ? ifindex : "unknown", seqnum); - if (!strcmp (action, "add")) + if (!strcmp (action, "add") || !strcmp (action, "move")) udev_device_added (platform, udev_device); if (!strcmp (action, "remove")) udev_device_removed (platform, udev_device);