On Wed, Oct 24, 2012 at 9:07 AM, Stefan Hajnoczi <stefa...@redhat.com> wrote: > This series converts NetClientState from a plain C struct to QOM. This means > emulated NICs and netdevs now derive from the NetClientState base class. > There > should be no user-visible change. > > Converting the net subsystem to QOM opens the door to the following > improvements which can be built on top of this series: > > 1. Lifecycle cleanup to make hotplug saner and allow associating a NIC with a > new netdev at runtime. Really we should use the QOM lifecycle! > > 2. Exposing NICs and netdevs in the QOM tree so they can be configured and > inspected at runtime. > > I have tested virtio and e1000 with -netdev tap and user. Build tested all > targets on Linux host. > > v3: > * Due to a horrible accident with git-rebase(1), the commit message for Patch > 3/3 was chopped off and mistakingly replaced with Patch 2/3's message. I > have picked the dropped commit message off the floor and glued it back on > to > Patch 3/3. [Markus] > > v2: > * Use object_dynamic_cast() instead of adding net_is_tap() function [Paolo] > * Use "tap-net-client" type name for win32 and unix tap [Paolo] > > Stefan Hajnoczi (3): > net: add public qemu_net_poll() function > net: extract notify_link_status_changed() function > net: convert NetClientState to QOM > > hw/cadence_gem.c | 27 +++++++--- > hw/dp8393x.c | 41 ++++++++++---- > hw/e1000.c | 32 +++++++---- > hw/eepro100.c | 27 +++++++--- > hw/etraxfs_eth.c | 27 +++++++--- > hw/lan9118.c | 27 +++++++--- > hw/lance.c | 18 +------ > hw/mcf_fec.c | 32 ++++++++--- > hw/milkymist-minimac2.c | 26 ++++++--- > hw/mipsnet.c | 25 ++++++--- > hw/musicpal.c | 26 ++++++--- > hw/ne2000-isa.c | 17 +----- > hw/ne2000.c | 23 +++++--- > hw/ne2000.h | 2 + > hw/opencores_eth.c | 28 +++++++--- > hw/pcnet-pci.c | 18 +------ > hw/pcnet.c | 36 +++++++++++-- > hw/pcnet.h | 3 +- > hw/rtl8139.c | 28 +++++++--- > hw/smc91c111.c | 26 ++++++--- > hw/spapr_llan.c | 24 ++++++--- > hw/stellaris_enet.c | 26 ++++++--- > hw/usb/dev-network.c | 25 ++++++--- > hw/vhost_net.c | 11 ++-- > hw/virtio-net.c | 42 ++++++++++----- > hw/xen_nic.c | 29 +++++++--- > hw/xgmac.c | 26 ++++++--- > hw/xilinx_axienet.c | 26 ++++++--- > hw/xilinx_ethlite.c | 26 ++++++--- > net.c | 140 > +++++++++++++++++++++++++++++++++--------------- > net.h | 35 ++++++++---- > net/dump.c | 30 ++++++++--- > net/hub.c | 64 +++++++++++++--------- > net/slirp.c | 29 +++++++--- > net/socket.c | 74 ++++++++++++++++--------- > net/tap-win32.c | 27 ++++++++-- > net/tap.c | 77 +++++++++++++------------- > net/tap.h | 4 ++ > net/vde.c | 28 ++++++++-- > 39 files changed, 843 insertions(+), 389 deletions(-) > > -- > 1.7.11.7
Applied to the net tree: https://github.com/stefanha/qemu/commits/net