From: Yu Watanabe Date: Tue, 1 Aug 2023 02:09:25 +0000 (+0900) Subject: udev-builtin-net_id: introduce device_is_stacked() helper function X-Git-Tag: v255-rc1~849^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=64d23583976ebe4fb90a2af64c4ed74454c9c320;p=thirdparty%2Fsystemd.git udev-builtin-net_id: introduce device_is_stacked() helper function Then, we can drop LinkInfo struct. No functional change, just refactoring. --- diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c index 64215834cb7..b8b8bfae362 100644 --- a/src/udev/udev-builtin-net_id.c +++ b/src/udev/udev-builtin-net_id.c @@ -63,12 +63,6 @@ typedef struct NetNames { char bcma_core[ALTIFNAMSIZ]; } NetNames; -typedef struct LinkInfo { - int ifindex; - int iflink; - int iftype; -} LinkInfo; - /* skip intermediate virtio devices */ static sd_device *skip_virtio(sd_device *dev) { /* there can only ever be one virtio bus per parent device, so we can @@ -1287,41 +1281,32 @@ static int get_ifname_prefix(sd_device *dev, const char **ret) { } } -static int get_link_info(sd_device *dev, LinkInfo *info) { - int r; +static int device_is_stacked(sd_device *dev) { + int ifindex, iflink, r; assert(dev); - assert(info); - - r = sd_device_get_ifindex(dev, &info->ifindex); - if (r < 0) - return r; - r = device_get_sysattr_int(dev, "iflink", &info->iflink); + r = sd_device_get_ifindex(dev, &ifindex); if (r < 0) return r; - r = device_get_sysattr_int(dev, "type", &info->iftype); + r = device_get_sysattr_int(dev, "iflink", &iflink); if (r < 0) return r; - return 0; + return ifindex != iflink; } static int builtin_net_id(UdevEvent *event, int argc, char *argv[], bool test) { sd_device *dev = ASSERT_PTR(ASSERT_PTR(event)->dev); const char *prefix; NetNames names = {}; - LinkInfo info = {}; int r; - r = get_link_info(dev, &info); - if (r < 0) - return r; - /* skip stacked devices, like VLANs, ... */ - if (info.ifindex != info.iflink) - return 0; + r = device_is_stacked(dev); + if (r != 0) + return r; r = get_ifname_prefix(dev, &prefix); if (r < 0) {