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)
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) {
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 */