net: Improve error message for -net hubport a bit
Type "hubport" is valid only with -netdev. Unfortunately, that's detected late and the error message doesn't explain why: $ qemu-system-i386 -net hubport,id=foo,hubid=0 qemu-system-i386: -net hubport,id=foo,hubid=0: Device 'hubport' could not be initialized Improve the error message to "Parameter 'type' expects a net type". Not fixed: -net hubport without the parameters required by -netdev hubport still asks for those parameters: $ qemu-system-i386 -net hubport qemu-system-i386: -net hubport: Parameter 'hubid' is missing Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 1431691143-1015-2-git-send-email-armbru@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
6a8b4a5be2
commit
ca7eb1848b
@ -286,12 +286,9 @@ int net_init_hubport(const NetClientOptions *opts, const char *name,
|
|||||||
const NetdevHubPortOptions *hubport;
|
const NetdevHubPortOptions *hubport;
|
||||||
|
|
||||||
assert(opts->kind == NET_CLIENT_OPTIONS_KIND_HUBPORT);
|
assert(opts->kind == NET_CLIENT_OPTIONS_KIND_HUBPORT);
|
||||||
|
assert(!peer);
|
||||||
hubport = opts->hubport;
|
hubport = opts->hubport;
|
||||||
|
|
||||||
if (peer) {
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
net_hub_add_port(hubport->hubid, name);
|
net_hub_add_port(hubport->hubid, name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -882,6 +882,11 @@ static int net_client_init1(const void *object, int is_netdev, Error **errp)
|
|||||||
} else {
|
} else {
|
||||||
u.net = object;
|
u.net = object;
|
||||||
opts = u.net->opts;
|
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" */
|
/* missing optional values have been initialized to "all bits zero" */
|
||||||
name = u.net->has_id ? u.net->id : u.net->name;
|
name = u.net->has_id ? u.net->id : u.net->name;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user