This patch series flattens the structures that are used by OptsVisitor, namely NumaOptions and Netdev (NetLegacy is removed in the process).
Patch 1 is needed, otherwise qemu segfaults when OptsVisitor visits a flat struct. Patch 1 and 2 are identical to v1, while the networking related patches are completely rewritten. The NetLegacy and Netdev structs are merged, this way we won't have to work-around the type system. This requires a few extra checks in net_client_init1, but allows us to simply use Netdev everywhere, without using void *, union, or the NetClientOpts union. Please review. Kővágó, Zoltán (6): qapi: support implicit structs in OptsVisitor qapi: convert NumaOptions into a flat union net: remove NetLegacy struct net: use Netdev instead of NetClientOptions in client init qapi: change Netdev into a flat union qapi: reorder NetdevBase and Netdev hw/arm/musicpal.c | 2 +- hw/core/qdev-properties-system.c | 2 +- hw/net/allwinner_emac.c | 2 +- hw/net/cadence_gem.c | 2 +- hw/net/dp8393x.c | 2 +- hw/net/e1000.c | 2 +- hw/net/eepro100.c | 2 +- hw/net/etraxfs_eth.c | 2 +- hw/net/fsl_etsec/etsec.c | 2 +- hw/net/lan9118.c | 2 +- hw/net/lance.c | 2 +- hw/net/mcf_fec.c | 2 +- hw/net/milkymist-minimac2.c | 2 +- hw/net/mipsnet.c | 2 +- hw/net/ne2000-isa.c | 2 +- hw/net/ne2000.c | 2 +- hw/net/opencores_eth.c | 2 +- hw/net/pcnet-pci.c | 2 +- hw/net/rocker/rocker_fp.c | 2 +- hw/net/rtl8139.c | 2 +- hw/net/smc91c111.c | 2 +- hw/net/spapr_llan.c | 2 +- hw/net/stellaris_enet.c | 2 +- hw/net/vhost_net.c | 18 +++--- hw/net/virtio-net.c | 6 +- hw/net/vmxnet3.c | 2 +- hw/net/xen_nic.c | 2 +- hw/net/xgmac.c | 2 +- hw/net/xilinx_axienet.c | 2 +- hw/net/xilinx_ethlite.c | 2 +- hw/usb/dev-network.c | 2 +- include/net/net.h | 4 +- monitor.c | 14 ++--- net/clients.h | 20 +++--- net/dump.c | 8 +-- net/hub.c | 24 ++++---- net/l2tpv3.c | 8 +-- net/net.c | 129 +++++++++++++++++++-------------------- net/netmap.c | 6 +- net/slirp.c | 8 +-- net/socket.c | 10 +-- net/tap-win32.c | 8 +-- net/tap.c | 28 ++++----- net/vde.c | 8 +-- net/vhost-user.c | 14 ++--- numa.c | 2 +- qapi-schema.json | 129 +++++++++++++++++++++++---------------- qapi/opts-visitor.c | 15 +++++ 48 files changed, 278 insertions(+), 239 deletions(-) -- 2.4.5