]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: support alternative name to get bus path for the link 14365/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 17 Dec 2019 12:13:49 +0000 (21:13 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 17 Dec 2019 15:05:50 +0000 (00:05 +0900)
src/network/networkd-manager-bus.c

index 773dcf0b4db71cf7dd140630138d83435c075684..8bcce06b854cdbf109ef713b68c9c3c44d2e47d9 100644 (file)
@@ -7,6 +7,7 @@
 #include "alloc-util.h"
 #include "bus-common-errors.h"
 #include "bus-util.h"
+#include "netlink-util.h"
 #include "networkd-link-bus.h"
 #include "networkd-link.h"
 #include "networkd-manager-bus.h"
@@ -66,8 +67,11 @@ static int method_get_link_by_name(sd_bus_message *message, void *userdata, sd_b
                 return r;
 
         index = if_nametoindex(name);
-        if (index <= 0)
-                return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_LINK, "Link %s not known", name);
+        if (index <= 0) {
+                r = rtnl_resolve_link_alternative_name(&manager->rtnl, name, &index);
+                if (r < 0)
+                        return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_LINK, "Link %s not known", name);
+        }
 
         link = hashmap_get(manager->links, INT_TO_PTR(index));
         if (!link)