diff options
-rw-r--r-- | src/libsystemd-network/network-internal.c | 25 | ||||
-rw-r--r-- | src/libsystemd-network/network-internal.h | 1 | ||||
-rw-r--r-- | src/libsystemd/sd-network/network-util.c | 21 | ||||
-rw-r--r-- | src/libsystemd/sd-network/network-util.h | 3 | ||||
-rw-r--r-- | src/network/networkctl.c | 5 |
5 files changed, 29 insertions, 26 deletions
diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c index 1b4358e139..cb6cff2a97 100644 --- a/src/libsystemd-network/network-internal.c +++ b/src/libsystemd-network/network-internal.c @@ -8,7 +8,6 @@ #include "sd-ndisc.h" #include "alloc-util.h" -#include "arphrd-list.h" #include "condition.h" #include "conf-parser.h" #include "device-util.h" @@ -18,6 +17,7 @@ #include "hexdecoct.h" #include "log.h" #include "network-internal.h" +#include "network-util.h" #include "parse-util.h" #include "siphash24.h" #include "socket-util.h" @@ -166,27 +166,6 @@ static const char *const wifi_iftype_table[NL80211_IFTYPE_MAX+1] = { DEFINE_PRIVATE_STRING_TABLE_LOOKUP_TO_STRING(wifi_iftype, enum nl80211_iftype); -char *link_get_type_string(unsigned short iftype, sd_device *device) { - const char *t, *devtype; - char *p; - - if (device && - sd_device_get_devtype(device, &devtype) >= 0 && - !isempty(devtype)) - return strdup(devtype); - - t = arphrd_to_name(iftype); - if (!t) - return NULL; - - p = strdup(t); - if (!p) - return NULL; - - ascii_strlower(p); - return p; -} - bool net_match_config(Set *match_mac, Set *match_permanent_mac, char * const *match_paths, @@ -211,7 +190,7 @@ bool net_match_config(Set *match_mac, _cleanup_free_ char *dev_iftype_str; const char *dev_path = NULL; - dev_iftype_str = link_get_type_string(dev_iftype, device); + dev_iftype_str = link_get_type_string(device, dev_iftype); if (device) { const char *mac_str; diff --git a/src/libsystemd-network/network-internal.h b/src/libsystemd-network/network-internal.h index c5530770fd..90fd2fb2aa 100644 --- a/src/libsystemd-network/network-internal.h +++ b/src/libsystemd-network/network-internal.h @@ -11,7 +11,6 @@ #include "set.h" #include "strv.h" -char *link_get_type_string(unsigned short iftype, sd_device *device); bool net_match_config(Set *match_mac, Set *match_permanent_mac, char * const *match_paths, diff --git a/src/libsystemd/sd-network/network-util.c b/src/libsystemd/sd-network/network-util.c index 0addabe10a..f3d6061578 100644 --- a/src/libsystemd/sd-network/network-util.c +++ b/src/libsystemd/sd-network/network-util.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #include "alloc-util.h" +#include "arphrd-list.h" #include "fd-util.h" #include "network-util.h" #include "string-table.h" @@ -103,3 +104,23 @@ int parse_operational_state_range(const char *str, LinkOperationalStateRange *ou return 0; } + +char *link_get_type_string(sd_device *device, unsigned short iftype) { + const char *t; + char *p; + + if (device && + sd_device_get_devtype(device, &t) >= 0 && + !isempty(t)) + return strdup(t); + + t = arphrd_to_name(iftype); + if (!t) + return NULL; + + p = strdup(t); + if (!p) + return NULL; + + return ascii_strlower(p); +} diff --git a/src/libsystemd/sd-network/network-util.h b/src/libsystemd/sd-network/network-util.h index 425d192f64..1422a57279 100644 --- a/src/libsystemd/sd-network/network-util.h +++ b/src/libsystemd/sd-network/network-util.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once +#include "sd-device.h" #include "sd-network.h" #include "macro.h" @@ -58,3 +59,5 @@ typedef struct LinkOperationalStateRange { LINK_OPERSTATE_ROUTABLE } int parse_operational_state_range(const char *str, LinkOperationalStateRange *out); + +char *link_get_type_string(sd_device *device, unsigned short iftype); diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 86e53e6da4..476bb0e58d 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -44,6 +44,7 @@ #include "main-func.h" #include "netlink-util.h" #include "network-internal.h" +#include "network-util.h" #include "pager.h" #include "parse-util.h" #include "pretty-print.h" @@ -703,7 +704,7 @@ static int list_links(int argc, char *argv[], void *userdata) { setup_state = strdup("unmanaged"); setup_state_to_color(setup_state, &on_color_setup, &off_color_setup); - t = link_get_type_string(links[i].iftype, links[i].sd_device); + t = link_get_type_string(links[i].sd_device, links[i].iftype); r = table_add_many(table, TABLE_INT, links[i].ifindex, @@ -1427,7 +1428,7 @@ static int link_status_one( (void) sd_device_get_property_value(info->sd_device, "ID_MODEL", &model); } - t = link_get_type_string(info->iftype, info->sd_device); + t = link_get_type_string(info->sd_device, info->iftype); (void) sd_network_link_get_network_file(info->ifindex, &network); |