From 859e9c048707d19fae08a2c6865676b945741e68 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 11 Mar 2019 15:49:09 +0900 Subject: [PATCH] network: introduce netdev_get_create_type() helper function --- src/network/netdev/netdev.c | 11 ++--------- src/network/netdev/netdev.h | 8 ++++++++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c index 7d949fe5bb9..33d646edd86 100644 --- a/src/network/netdev/netdev.c +++ b/src/network/netdev/netdev.c @@ -605,9 +605,8 @@ int netdev_join(NetDev *netdev, Link *link, link_netlink_message_handler_t callb assert(netdev); assert(netdev->manager); assert(netdev->manager->rtnl); - assert(NETDEV_VTABLE(netdev)); - switch (NETDEV_VTABLE(netdev)->create_type) { + switch (netdev_get_create_type(netdev)) { case NETDEV_CREATE_MASTER: r = netdev_enslave(netdev, link, callback); if (r < 0) @@ -740,16 +739,10 @@ int netdev_load_one(Manager *manager, const char *filename) { log_netdev_debug(netdev, "loaded %s", netdev_kind_to_string(netdev->kind)); - switch (NETDEV_VTABLE(netdev)->create_type) { - case NETDEV_CREATE_MASTER: - case NETDEV_CREATE_INDEPENDENT: + if (IN_SET(netdev_get_create_type(netdev), NETDEV_CREATE_MASTER, NETDEV_CREATE_INDEPENDENT)) { r = netdev_create(netdev, NULL, NULL); if (r < 0) return r; - - break; - default: - break; } switch (netdev->kind) { diff --git a/src/network/netdev/netdev.h b/src/network/netdev/netdev.h index a82c674dfdf..fb02ef67057 100644 --- a/src/network/netdev/netdev.h +++ b/src/network/netdev/netdev.h @@ -166,6 +166,14 @@ int netdev_join(NetDev *netdev, Link *link, link_netlink_message_handler_t cb); const char *netdev_kind_to_string(NetDevKind d) _const_; NetDevKind netdev_kind_from_string(const char *d) _pure_; +static inline NetDevCreateType netdev_get_create_type(NetDev *netdev) { + assert(netdev); + assert(NETDEV_VTABLE(netdev)); + + return NETDEV_VTABLE(netdev)->create_type; +} + + CONFIG_PARSER_PROTOTYPE(config_parse_netdev_kind); /* gperf */ -- 2.47.3