xemu/net
Markus Armbruster a30ecde6e7 net: Permit incremental conversion of init functions to Error
Error reporting for netdev_add is broken: the net_client_init_fun[]
report the actual errors with (at best) error_report(), and their
caller net_client_init1() makes up a generic error on top.

For command line and HMP, this produces an mildly ugly error cascade.

In QMP, the actual errors go to stderr, and the generic error becomes
the command's error reply.

To fix this, we need to convert the net_client_init_fun[] to Error.

To permit fixing them one by one, add an Error ** parameter to the
net_client_init_fun[].  If the call fails without returning an Error,
make up the same generic Error as before.  But if it returns one, use
that instead.  Since none of them does so far, no functional change.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 1431691143-1015-3-git-send-email-armbru@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
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
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: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +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
net.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +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-aix.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-bsd.c tap-bsd: implement a FreeBSD only version of tap_open 2014-08-01 15:57:48 +00:00
tap-haiku.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-linux.c tap-linux: Get features once and use it many times 2014-01-27 15:44:06 +01:00
tap-linux.h tap: set IFF_ONE_QUEUE per default 2013-02-27 16:10:47 +01:00
tap-solaris.c tap: multiqueue support 2013-02-01 11:03:02 -06:00
tap-win32.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
tap.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
tap_int.h tap_int.h: remove repeating NETWORK_SCRIPT defines 2014-11-02 10:04:34 +03: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