From: Yu Watanabe Date: Tue, 17 Dec 2019 12:13:49 +0000 (+0900) Subject: network: support alternative name to get bus path for the link X-Git-Tag: v245-rc1~235^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e7bdadb5c6553c9fd3be268e5b5b68a0336cb67d;p=thirdparty%2Fsystemd.git network: support alternative name to get bus path for the link --- diff --git a/src/network/networkd-manager-bus.c b/src/network/networkd-manager-bus.c index 773dcf0b4db..8bcce06b854 100644 --- a/src/network/networkd-manager-bus.c +++ b/src/network/networkd-manager-bus.c @@ -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)