diff --git a/net/hub.c b/net/hub.c index 2b60ab9a60..261f8ccc3f 100644 --- a/net/hub.c +++ b/net/hub.c @@ -286,12 +286,9 @@ int net_init_hubport(const NetClientOptions *opts, const char *name, const NetdevHubPortOptions *hubport; assert(opts->kind == NET_CLIENT_OPTIONS_KIND_HUBPORT); + assert(!peer); hubport = opts->hubport; - if (peer) { - return -EINVAL; - } - net_hub_add_port(hubport->hubid, name); return 0; } diff --git a/net/net.c b/net/net.c index 7427f6a65a..d9aaeb5341 100644 --- a/net/net.c +++ b/net/net.c @@ -882,6 +882,11 @@ static int net_client_init1(const void *object, int is_netdev, Error **errp) } else { u.net = object; opts = u.net->opts; + if (opts->kind == NET_CLIENT_OPTIONS_KIND_HUBPORT) { + error_set(errp, QERR_INVALID_PARAMETER_VALUE, "type", + "a net type"); + return -1; + } /* missing optional values have been initialized to "all bits zero" */ name = u.net->has_id ? u.net->id : u.net->name; }