xemu/net
Markus Armbruster a308817743 tap: Improve -netdev/netdev_add/-net/... tap error reporting
When -netdev tap fails, it first reports a specific error, then a
generic one, like this:

    $ qemu-system-x86_64 -netdev tap,id=foo
    qemu-system-x86_64: -netdev tap,id=foo: could not configure /dev/net/tun: Operation not permitted
    qemu-system-x86_64: -netdev tap,id=foo: Device 'tap' could not be initialized

With the command line, the messages go to stderr.  In HMP, they go to
the monitor.  In QMP, the second one becomes the error reply, and the
first one goes to stderr.

Convert net_init_tap() to Error.  This suppresses the unwanted second
message, and makes the specific error the QMP error reply.

[Dropped duplicate "and" from error message as suggested by Eric Blake:
"ifname=, script=, downscript=, and vnet_hdr=, "
"queues=, and vhostfds= are invalid with helper="
--Stefan]

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 1431691143-1015-16-git-send-email-armbru@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-05-27 10:34:07 +01:00
..
checksum.c net: iovec checksum calculator 2013-03-25 11:13:10 +01:00
clients.h net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
dump.c net/dump: Improve -net/host_net_add dump error reporting 2015-05-27 09:51:05 +01:00
eth.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
hub.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
hub.h net: fix qemu_flush_queued_packets() in presence of a hub 2013-02-27 16:10:23 +01:00
l2tpv3.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
Makefile.objs net: add mmsghdr struct check for L2TPV3 2014-07-01 17:42:23 +01:00
net.c net: Improve -net nic error reporting 2015-05-27 09:51:05 +01:00
netmap.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
queue.c net: Use g_new() & friends where that makes obvious sense 2014-12-19 13:17:02 +00:00
slirp.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
socket.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
tap_int.h tap: Permit incremental conversion of tap_open() to Error 2015-05-27 10:34:07 +01:00
tap-aix.c tap: Permit incremental conversion of tap_open() to Error 2015-05-27 10:34:07 +01:00
tap-bsd.c tap-bsd: Convert tap_open() to Error 2015-05-27 10:34:07 +01:00
tap-haiku.c tap: Permit incremental conversion of tap_open() to Error 2015-05-27 10:34:07 +01:00
tap-linux.c tap-linux: Convert tap_open() to Error 2015-05-27 10:34:07 +01:00
tap-linux.h tap: set IFF_ONE_QUEUE per default 2013-02-27 16:10:47 +01:00
tap-solaris.c tap-solaris: Convert tap_open() to Error 2015-05-27 10:34:07 +01:00
tap-win32.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
tap.c tap: Improve -netdev/netdev_add/-net/... tap error reporting 2015-05-27 10:34:07 +01:00
util.c net: reorganize headers 2012-12-19 08:31:29 +01:00
util.h net: move parse_macaddr() to net/util.[ch] 2009-12-03 09:41:34 -06:00
vde.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
vhost-user.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00