Patchwork [v5,10/17] net: Rename VLANClientState to NetClientState

login
register
mail settings
Submitter Zhiyong Wu
Date June 18, 2012, 4:59 p.m.
Message ID <1340038759-27796-11-git-send-email-zwu.kernel@gmail.com>
Download mbox | patch
Permalink /patch/165541/
State New
Headers show

Comments

Zhiyong Wu - June 18, 2012, 4:59 p.m.
From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>

The vlan feature is no longer part of net core.  Rename VLANClientState
to NetClientState because net clients are not explicitly associated with
a vlan at all, instead they have a peer net client to which they are
connected.

This patch is a mechanical search-and-replace except for a few
whitespace fixups where changing VLANClientState to NetClientState
misaligned whitespace.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
---
 hw/cadence_gem.c        |    8 ++--
 hw/dp8393x.c            |    6 ++--
 hw/e1000.c              |    8 ++--
 hw/eepro100.c           |    6 ++--
 hw/etraxfs_eth.c        |    8 ++--
 hw/lan9118.c            |    8 ++--
 hw/lance.c              |    2 +-
 hw/mcf_fec.c            |    6 ++--
 hw/milkymist-minimac2.c |    6 ++--
 hw/mipsnet.c            |    6 ++--
 hw/musicpal.c           |    6 ++--
 hw/ne2000-isa.c         |    2 +-
 hw/ne2000.c             |    6 ++--
 hw/ne2000.h             |    4 +-
 hw/opencores_eth.c      |    8 ++--
 hw/pcnet-pci.c          |    2 +-
 hw/pcnet.c              |    6 ++--
 hw/pcnet.h              |    6 ++--
 hw/qdev-properties.c    |    6 ++--
 hw/qdev.h               |    4 +-
 hw/rtl8139.c            |    8 ++--
 hw/smc91c111.c          |    6 ++--
 hw/spapr_llan.c         |    4 +-
 hw/stellaris_enet.c     |    6 ++--
 hw/usb/dev-network.c    |    6 ++--
 hw/vhost_net.c          |    8 ++--
 hw/vhost_net.h          |    2 +-
 hw/virtio-net.c         |   10 +++---
 hw/xen_nic.c            |    4 +-
 hw/xgmac.c              |    6 ++--
 hw/xilinx_axienet.c     |    6 ++--
 hw/xilinx_ethlite.c     |    6 ++--
 net.c                   |   85 +++++++++++++++++++++++------------------------
 net.h                   |   60 ++++++++++++++++----------------
 net/dump.c              |   12 +++---
 net/dump.h              |    2 +-
 net/hub.c               |   22 ++++++------
 net/hub.h               |    8 ++--
 net/queue.c             |   16 ++++----
 net/queue.h             |   12 +++---
 net/slirp.c             |   14 ++++----
 net/slirp.h             |    2 +-
 net/socket.c            |   28 ++++++++--------
 net/socket.h            |    2 +-
 net/tap-win32.c         |   22 ++++++------
 net/tap.c               |   36 ++++++++++----------
 net/tap.h               |   18 +++++-----
 net/vde.c               |   12 +++---
 net/vde.h               |    2 +-
 qemu-common.h           |    2 +-
 50 files changed, 270 insertions(+), 271 deletions(-)
Anthony Liguori - June 19, 2012, 6:36 p.m.
On 06/18/2012 11:59 AM, zwu.kernel@gmail.com wrote:
> From: Stefan Hajnoczi<stefanha@linux.vnet.ibm.com>
>
> The vlan feature is no longer part of net core.  Rename VLANClientState
> to NetClientState because net clients are not explicitly associated with
> a vlan at all, instead they have a peer net client to which they are
> connected.
>
> This patch is a mechanical search-and-replace except for a few
> whitespace fixups where changing VLANClientState to NetClientState
> misaligned whitespace.
>
> Signed-off-by: Stefan Hajnoczi<stefanha@linux.vnet.ibm.com>
> Signed-off-by: Zhi Yong Wu<wuzhy@linux.vnet.ibm.com>

   CC    libhw64/hw/dp8393x.o
/home/anthony/git/qemu/hw/dp8393x.c: In function ‘dp83932_init’:
/home/anthony/git/qemu/hw/dp8393x.c:902:12: error: ‘NICConf’ has no member named 
‘vlan’
/home/anthony/git/qemu/hw/dp8393x.c:902:22: error: ‘NICInfo’ has no member named 
‘vlan’
make[1]: *** [hw/dp8393x.o] Error 1
make: *** [subdir-libhw64] Error 2

This isn't a merge conflict.  dp8393x.c hasn't been touched in ages.

How was this series tested?  I don't see how you could have done a full build 
without seeing this error...

Regards,

Anthony Liguori

> ---
>   hw/cadence_gem.c        |    8 ++--
>   hw/dp8393x.c            |    6 ++--
>   hw/e1000.c              |    8 ++--
>   hw/eepro100.c           |    6 ++--
>   hw/etraxfs_eth.c        |    8 ++--
>   hw/lan9118.c            |    8 ++--
>   hw/lance.c              |    2 +-
>   hw/mcf_fec.c            |    6 ++--
>   hw/milkymist-minimac2.c |    6 ++--
>   hw/mipsnet.c            |    6 ++--
>   hw/musicpal.c           |    6 ++--
>   hw/ne2000-isa.c         |    2 +-
>   hw/ne2000.c             |    6 ++--
>   hw/ne2000.h             |    4 +-
>   hw/opencores_eth.c      |    8 ++--
>   hw/pcnet-pci.c          |    2 +-
>   hw/pcnet.c              |    6 ++--
>   hw/pcnet.h              |    6 ++--
>   hw/qdev-properties.c    |    6 ++--
>   hw/qdev.h               |    4 +-
>   hw/rtl8139.c            |    8 ++--
>   hw/smc91c111.c          |    6 ++--
>   hw/spapr_llan.c         |    4 +-
>   hw/stellaris_enet.c     |    6 ++--
>   hw/usb/dev-network.c    |    6 ++--
>   hw/vhost_net.c          |    8 ++--
>   hw/vhost_net.h          |    2 +-
>   hw/virtio-net.c         |   10 +++---
>   hw/xen_nic.c            |    4 +-
>   hw/xgmac.c              |    6 ++--
>   hw/xilinx_axienet.c     |    6 ++--
>   hw/xilinx_ethlite.c     |    6 ++--
>   net.c                   |   85 +++++++++++++++++++++++------------------------
>   net.h                   |   60 ++++++++++++++++----------------
>   net/dump.c              |   12 +++---
>   net/dump.h              |    2 +-
>   net/hub.c               |   22 ++++++------
>   net/hub.h               |    8 ++--
>   net/queue.c             |   16 ++++----
>   net/queue.h             |   12 +++---
>   net/slirp.c             |   14 ++++----
>   net/slirp.h             |    2 +-
>   net/socket.c            |   28 ++++++++--------
>   net/socket.h            |    2 +-
>   net/tap-win32.c         |   22 ++++++------
>   net/tap.c               |   36 ++++++++++----------
>   net/tap.h               |   18 +++++-----
>   net/vde.c               |   12 +++---
>   net/vde.h               |    2 +-
>   qemu-common.h           |    2 +-
>   50 files changed, 270 insertions(+), 271 deletions(-)
>
> diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c
> index e2140ae..60ee1fd 100644
> --- a/hw/cadence_gem.c
> +++ b/hw/cadence_gem.c
> @@ -405,7 +405,7 @@ static void phy_update_link(GemState *s)
>       }
>   }
>
> -static int gem_can_receive(VLANClientState *nc)
> +static int gem_can_receive(NetClientState *nc)
>   {
>       GemState *s;
>
> @@ -602,7 +602,7 @@ static int gem_mac_address_filter(GemState *s, const uint8_t *packet)
>    * gem_receive:
>    * Fit a packet handed to us by QEMU into the receive descriptor ring.
>    */
> -static ssize_t gem_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       unsigned    desc[2];
>       target_phys_addr_t packet_desc_addr, last_desc_addr;
> @@ -1146,7 +1146,7 @@ static const MemoryRegionOps gem_ops = {
>       .endianness = DEVICE_LITTLE_ENDIAN,
>   };
>
> -static void gem_cleanup(VLANClientState *nc)
> +static void gem_cleanup(NetClientState *nc)
>   {
>       GemState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -1154,7 +1154,7 @@ static void gem_cleanup(VLANClientState *nc)
>       s->nic = NULL;
>   }
>
> -static void gem_set_link(VLANClientState *nc)
> +static void gem_set_link(NetClientState *nc)
>   {
>       DB_PRINT("\n");
>       phy_update_link(DO_UPCAST(NICState, nc, nc)->opaque);
> diff --git a/hw/dp8393x.c b/hw/dp8393x.c
> index 017d074..86598b9 100644
> --- a/hw/dp8393x.c
> +++ b/hw/dp8393x.c
> @@ -673,7 +673,7 @@ static const MemoryRegionOps dp8393x_ops = {
>       .endianness = DEVICE_NATIVE_ENDIAN,
>   };
>
> -static int nic_can_receive(VLANClientState *nc)
> +static int nic_can_receive(NetClientState *nc)
>   {
>       dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -722,7 +722,7 @@ static int receive_filter(dp8393xState *s, const uint8_t * buf, int size)
>       return -1;
>   }
>
> -static ssize_t nic_receive(VLANClientState *nc, const uint8_t * buf, size_t size)
> +static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size)
>   {
>       dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       uint16_t data[10];
> @@ -858,7 +858,7 @@ static void nic_reset(void *opaque)
>       dp8393x_update_irq(s);
>   }
>
> -static void nic_cleanup(VLANClientState *nc)
> +static void nic_cleanup(NetClientState *nc)
>   {
>       dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/e1000.c b/hw/e1000.c
> index 4573f13..8c7fd3b 100644
> --- a/hw/e1000.c
> +++ b/hw/e1000.c
> @@ -720,7 +720,7 @@ receive_filter(E1000State *s, const uint8_t *buf, int size)
>   }
>
>   static void
> -e1000_set_link_status(VLANClientState *nc)
> +e1000_set_link_status(NetClientState *nc)
>   {
>       E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       uint32_t old_status = s->mac_reg[STATUS];
> @@ -754,7 +754,7 @@ static bool e1000_has_rxbufs(E1000State *s, size_t total_size)
>   }
>
>   static int
> -e1000_can_receive(VLANClientState *nc)
> +e1000_can_receive(NetClientState *nc)
>   {
>       E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -770,7 +770,7 @@ static uint64_t rx_desc_base(E1000State *s)
>   }
>
>   static ssize_t
> -e1000_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       struct e1000_rx_desc desc;
> @@ -1185,7 +1185,7 @@ e1000_mmio_setup(E1000State *d)
>   }
>
>   static void
> -e1000_cleanup(VLANClientState *nc)
> +e1000_cleanup(NetClientState *nc)
>   {
>       E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/eepro100.c b/hw/eepro100.c
> index 6279ae3..5725ccf 100644
> --- a/hw/eepro100.c
> +++ b/hw/eepro100.c
> @@ -1609,7 +1609,7 @@ static const MemoryRegionOps eepro100_ops = {
>       .endianness = DEVICE_LITTLE_ENDIAN,
>   };
>
> -static int nic_can_receive(VLANClientState *nc)
> +static int nic_can_receive(NetClientState *nc)
>   {
>       EEPRO100State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       TRACE(RXTX, logout("%p\n", s));
> @@ -1619,7 +1619,7 @@ static int nic_can_receive(VLANClientState *nc)
>   #endif
>   }
>
> -static ssize_t nic_receive(VLANClientState *nc, const uint8_t * buf, size_t size)
> +static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size)
>   {
>       /* TODO:
>        * - Magic packets should set bit 30 in power management driver register.
> @@ -1824,7 +1824,7 @@ static const VMStateDescription vmstate_eepro100 = {
>       }
>   };
>
> -static void nic_cleanup(VLANClientState *nc)
> +static void nic_cleanup(NetClientState *nc)
>   {
>       EEPRO100State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c
> index 16a0637..1ca5849 100644
> --- a/hw/etraxfs_eth.c
> +++ b/hw/etraxfs_eth.c
> @@ -507,12 +507,12 @@ static int eth_match_groupaddr(struct fs_eth *eth, const unsigned char *sa)
>   	return match;
>   }
>
> -static int eth_can_receive(VLANClientState *nc)
> +static int eth_can_receive(NetClientState *nc)
>   {
>   	return 1;
>   }
>
> -static ssize_t eth_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t eth_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>   	unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
>   	struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
> @@ -549,7 +549,7 @@ static int eth_tx_push(void *opaque, unsigned char *buf, int len, bool eop)
>   	return len;
>   }
>
> -static void eth_set_link(VLANClientState *nc)
> +static void eth_set_link(NetClientState *nc)
>   {
>   	struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
>   	D(printf("%s %d\n", __func__, nc->link_down));
> @@ -566,7 +566,7 @@ static const MemoryRegionOps eth_ops = {
>   	}
>   };
>
> -static void eth_cleanup(VLANClientState *nc)
> +static void eth_cleanup(NetClientState *nc)
>   {
>   	struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/lan9118.c b/hw/lan9118.c
> index 7b4fe87..6a37895 100644
> --- a/hw/lan9118.c
> +++ b/hw/lan9118.c
> @@ -384,7 +384,7 @@ static void phy_update_link(lan9118_state *s)
>       phy_update_irq(s);
>   }
>
> -static void lan9118_set_link(VLANClientState *nc)
> +static void lan9118_set_link(NetClientState *nc)
>   {
>       phy_update_link(DO_UPCAST(NICState, nc, nc)->opaque);
>   }
> @@ -456,7 +456,7 @@ static void lan9118_reset(DeviceState *d)
>       lan9118_reload_eeprom(s);
>   }
>
> -static int lan9118_can_receive(VLANClientState *nc)
> +static int lan9118_can_receive(NetClientState *nc)
>   {
>       return 1;
>   }
> @@ -509,7 +509,7 @@ static int lan9118_filter(lan9118_state *s, const uint8_t *addr)
>       }
>   }
>
> -static ssize_t lan9118_receive(VLANClientState *nc, const uint8_t *buf,
> +static ssize_t lan9118_receive(NetClientState *nc, const uint8_t *buf,
>                                  size_t size)
>   {
>       lan9118_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
> @@ -1302,7 +1302,7 @@ static const MemoryRegionOps lan9118_16bit_mem_ops = {
>       .endianness = DEVICE_NATIVE_ENDIAN,
>   };
>
> -static void lan9118_cleanup(VLANClientState *nc)
> +static void lan9118_cleanup(NetClientState *nc)
>   {
>       lan9118_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/lance.c b/hw/lance.c
> index ce3d46c..1aedb19 100644
> --- a/hw/lance.c
> +++ b/hw/lance.c
> @@ -85,7 +85,7 @@ static const MemoryRegionOps lance_mem_ops = {
>       },
>   };
>
> -static void lance_cleanup(VLANClientState *nc)
> +static void lance_cleanup(NetClientState *nc)
>   {
>       PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c
> index ae37bef..3d87c78 100644
> --- a/hw/mcf_fec.c
> +++ b/hw/mcf_fec.c
> @@ -351,13 +351,13 @@ static void mcf_fec_write(void *opaque, target_phys_addr_t addr,
>       mcf_fec_update(s);
>   }
>
> -static int mcf_fec_can_receive(VLANClientState *nc)
> +static int mcf_fec_can_receive(NetClientState *nc)
>   {
>       mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       return s->rx_enabled;
>   }
>
> -static ssize_t mcf_fec_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       mcf_fec_bd bd;
> @@ -439,7 +439,7 @@ static const MemoryRegionOps mcf_fec_ops = {
>       .endianness = DEVICE_NATIVE_ENDIAN,
>   };
>
> -static void mcf_fec_cleanup(VLANClientState *nc)
> +static void mcf_fec_cleanup(NetClientState *nc)
>   {
>       mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/milkymist-minimac2.c b/hw/milkymist-minimac2.c
> index 70bf336..0369894 100644
> --- a/hw/milkymist-minimac2.c
> +++ b/hw/milkymist-minimac2.c
> @@ -278,7 +278,7 @@ static void update_rx_interrupt(MilkymistMinimac2State *s)
>       }
>   }
>
> -static ssize_t minimac2_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t minimac2_rx(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -408,7 +408,7 @@ static const MemoryRegionOps minimac2_ops = {
>       .endianness = DEVICE_NATIVE_ENDIAN,
>   };
>
> -static int minimac2_can_rx(VLANClientState *nc)
> +static int minimac2_can_rx(NetClientState *nc)
>   {
>       MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -422,7 +422,7 @@ static int minimac2_can_rx(VLANClientState *nc)
>       return 0;
>   }
>
> -static void minimac2_cleanup(VLANClientState *nc)
> +static void minimac2_cleanup(NetClientState *nc)
>   {
>       MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/mipsnet.c b/hw/mipsnet.c
> index 3107246..9cde90a 100644
> --- a/hw/mipsnet.c
> +++ b/hw/mipsnet.c
> @@ -62,7 +62,7 @@ static int mipsnet_buffer_full(MIPSnetState *s)
>       return 0;
>   }
>
> -static int mipsnet_can_receive(VLANClientState *nc)
> +static int mipsnet_can_receive(NetClientState *nc)
>   {
>       MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -71,7 +71,7 @@ static int mipsnet_can_receive(VLANClientState *nc)
>       return !mipsnet_buffer_full(s);
>   }
>
> -static ssize_t mipsnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t mipsnet_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -209,7 +209,7 @@ static const VMStateDescription vmstate_mipsnet = {
>       }
>   };
>
> -static void mipsnet_cleanup(VLANClientState *nc)
> +static void mipsnet_cleanup(NetClientState *nc)
>   {
>       MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/musicpal.c b/hw/musicpal.c
> index f14f20d..10d4f38 100644
> --- a/hw/musicpal.c
> +++ b/hw/musicpal.c
> @@ -182,12 +182,12 @@ static void eth_rx_desc_get(uint32_t addr, mv88w8618_rx_desc *desc)
>       le32_to_cpus(&desc->next);
>   }
>
> -static int eth_can_receive(VLANClientState *nc)
> +static int eth_can_receive(NetClientState *nc)
>   {
>       return 1;
>   }
>
> -static ssize_t eth_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t eth_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       mv88w8618_eth_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       uint32_t desc_addr;
> @@ -366,7 +366,7 @@ static const MemoryRegionOps mv88w8618_eth_ops = {
>       .endianness = DEVICE_NATIVE_ENDIAN,
>   };
>
> -static void eth_cleanup(VLANClientState *nc)
> +static void eth_cleanup(NetClientState *nc)
>   {
>       mv88w8618_eth_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
> index a4a783a..ff4b885 100644
> --- a/hw/ne2000-isa.c
> +++ b/hw/ne2000-isa.c
> @@ -36,7 +36,7 @@ typedef struct ISANE2000State {
>       NE2000State ne2000;
>   } ISANE2000State;
>
> -static void isa_ne2000_cleanup(VLANClientState *nc)
> +static void isa_ne2000_cleanup(NetClientState *nc)
>   {
>       NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/ne2000.c b/hw/ne2000.c
> index d02e60c..2339725 100644
> --- a/hw/ne2000.c
> +++ b/hw/ne2000.c
> @@ -165,7 +165,7 @@ static int ne2000_buffer_full(NE2000State *s)
>       return 0;
>   }
>
> -int ne2000_can_receive(VLANClientState *nc)
> +int ne2000_can_receive(NetClientState *nc)
>   {
>       NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -176,7 +176,7 @@ int ne2000_can_receive(VLANClientState *nc)
>
>   #define MIN_BUF_SIZE 60
>
> -ssize_t ne2000_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
> +ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
>   {
>       NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       int size = size_;
> @@ -703,7 +703,7 @@ void ne2000_setup_io(NE2000State *s, unsigned size)
>       memory_region_init_io(&s->io,&ne2000_ops, s, "ne2000", size);
>   }
>
> -static void ne2000_cleanup(VLANClientState *nc)
> +static void ne2000_cleanup(NetClientState *nc)
>   {
>       NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/ne2000.h b/hw/ne2000.h
> index 5fee052..6c196a2 100644
> --- a/hw/ne2000.h
> +++ b/hw/ne2000.h
> @@ -31,5 +31,5 @@ typedef struct NE2000State {
>   void ne2000_setup_io(NE2000State *s, unsigned size);
>   extern const VMStateDescription vmstate_ne2000;
>   void ne2000_reset(NE2000State *s);
> -int ne2000_can_receive(VLANClientState *vc);
> -ssize_t ne2000_receive(VLANClientState *vc, const uint8_t *buf, size_t size_);
> +int ne2000_can_receive(NetClientState *vc);
> +ssize_t ne2000_receive(NetClientState *vc, const uint8_t *buf, size_t size_);
> diff --git a/hw/opencores_eth.c b/hw/opencores_eth.c
> index 350f731..990ec37 100644
> --- a/hw/opencores_eth.c
> +++ b/hw/opencores_eth.c
> @@ -311,7 +311,7 @@ static void open_eth_int_source_write(OpenEthState *s,
>               s->regs[INT_SOURCE]&  s->regs[INT_MASK]);
>   }
>
> -static void open_eth_set_link_status(VLANClientState *nc)
> +static void open_eth_set_link_status(NetClientState *nc)
>   {
>       OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -342,7 +342,7 @@ static void open_eth_reset(void *opaque)
>       open_eth_set_link_status(&s->nic->nc);
>   }
>
> -static int open_eth_can_receive(VLANClientState *nc)
> +static int open_eth_can_receive(NetClientState *nc)
>   {
>       OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -351,7 +351,7 @@ static int open_eth_can_receive(VLANClientState *nc)
>           (rx_desc(s)->len_flags&  RXD_E);
>   }
>
> -static ssize_t open_eth_receive(VLANClientState *nc,
> +static ssize_t open_eth_receive(NetClientState *nc,
>           const uint8_t *buf, size_t size)
>   {
>       OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
> @@ -462,7 +462,7 @@ static ssize_t open_eth_receive(VLANClientState *nc,
>       return size;
>   }
>
> -static void open_eth_cleanup(VLANClientState *nc)
> +static void open_eth_cleanup(NetClientState *nc)
>   {
>   }
>
> diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
> index 34d73aa..8c82667 100644
> --- a/hw/pcnet-pci.c
> +++ b/hw/pcnet-pci.c
> @@ -264,7 +264,7 @@ static void pci_physical_memory_read(void *dma_opaque, target_phys_addr_t addr,
>       pci_dma_read(dma_opaque, addr, buf, len);
>   }
>
> -static void pci_pcnet_cleanup(VLANClientState *nc)
> +static void pci_pcnet_cleanup(NetClientState *nc)
>   {
>       PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/pcnet.c b/hw/pcnet.c
> index d769b08..40820b3 100644
> --- a/hw/pcnet.c
> +++ b/hw/pcnet.c
> @@ -1004,7 +1004,7 @@ static int pcnet_tdte_poll(PCNetState *s)
>       return !!(CSR_CXST(s)&  0x8000);
>   }
>
> -int pcnet_can_receive(VLANClientState *nc)
> +int pcnet_can_receive(NetClientState *nc)
>   {
>       PCNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       if (CSR_STOP(s) || CSR_SPND(s))
> @@ -1015,7 +1015,7 @@ int pcnet_can_receive(VLANClientState *nc)
>
>   #define MIN_BUF_SIZE 60
>
> -ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
> +ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
>   {
>       PCNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       int is_padr = 0, is_bcast = 0, is_ladr = 0;
> @@ -1197,7 +1197,7 @@ ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
>       return size_;
>   }
>
> -void pcnet_set_link_status(VLANClientState *nc)
> +void pcnet_set_link_status(NetClientState *nc)
>   {
>       PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/pcnet.h b/hw/pcnet.h
> index 803a2cc..d0af54a 100644
> --- a/hw/pcnet.h
> +++ b/hw/pcnet.h
> @@ -57,9 +57,9 @@ uint32_t pcnet_ioport_readw(void *opaque, uint32_t addr);
>   void pcnet_ioport_writel(void *opaque, uint32_t addr, uint32_t val);
>   uint32_t pcnet_ioport_readl(void *opaque, uint32_t addr);
>   uint32_t pcnet_bcr_readw(PCNetState *s, uint32_t rap);
> -int pcnet_can_receive(VLANClientState *nc);
> -ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_);
> -void pcnet_set_link_status(VLANClientState *nc);
> +int pcnet_can_receive(NetClientState *nc);
> +ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_);
> +void pcnet_set_link_status(NetClientState *nc);
>   void pcnet_common_cleanup(PCNetState *d);
>   int pcnet_common_init(DeviceState *dev, PCNetState *s, NetClientInfo *info);
>   extern const VMStateDescription vmstate_pcnet;
> diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
> index 6624dd5..6fd3163 100644
> --- a/hw/qdev-properties.c
> +++ b/hw/qdev-properties.c
> @@ -554,7 +554,7 @@ PropertyInfo qdev_prop_chr = {
>
>   static int parse_netdev(DeviceState *dev, const char *str, void **ptr)
>   {
> -    VLANClientState *netdev = qemu_find_netdev(str);
> +    NetClientState *netdev = qemu_find_netdev(str);
>
>       if (netdev == NULL) {
>           return -ENOENT;
> @@ -568,7 +568,7 @@ static int parse_netdev(DeviceState *dev, const char *str, void **ptr)
>
>   static const char *print_netdev(void *ptr)
>   {
> -    VLANClientState *netdev = ptr;
> +    NetClientState *netdev = ptr;
>
>       return netdev->name ? netdev->name : "";
>   }
> @@ -991,7 +991,7 @@ void qdev_prop_set_chr(DeviceState *dev, const char *name, CharDriverState *valu
>       assert_no_error(errp);
>   }
>
> -void qdev_prop_set_netdev(DeviceState *dev, const char *name, VLANClientState *value)
> +void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value)
>   {
>       Error *errp = NULL;
>       assert(!value || value->name);
> diff --git a/hw/qdev.h b/hw/qdev.h
> index 0510eb7..33d4f6e 100644
> --- a/hw/qdev.h
> +++ b/hw/qdev.h
> @@ -273,7 +273,7 @@ extern PropertyInfo qdev_prop_blocksize;
>   #define DEFINE_PROP_STRING(_n, _s, _f)             \
>       DEFINE_PROP(_n, _s, _f, qdev_prop_string, char*)
>   #define DEFINE_PROP_NETDEV(_n, _s, _f)             \
> -    DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, VLANClientState*)
> +    DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NetClientState*)
>   #define DEFINE_PROP_DRIVE(_n, _s, _f) \
>       DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *)
>   #define DEFINE_PROP_MACADDR(_n, _s, _f)         \
> @@ -299,7 +299,7 @@ void qdev_prop_set_int32(DeviceState *dev, const char *name, int32_t value);
>   void qdev_prop_set_uint64(DeviceState *dev, const char *name, uint64_t value);
>   void qdev_prop_set_string(DeviceState *dev, const char *name, char *value);
>   void qdev_prop_set_chr(DeviceState *dev, const char *name, CharDriverState *value);
> -void qdev_prop_set_netdev(DeviceState *dev, const char *name, VLANClientState *value);
> +void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value);
>   int qdev_prop_set_drive(DeviceState *dev, const char *name, BlockDriverState *value) QEMU_WARN_UNUSED_RESULT;
>   void qdev_prop_set_drive_nofail(DeviceState *dev, const char *name, BlockDriverState *value);
>   void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value);
> diff --git a/hw/rtl8139.c b/hw/rtl8139.c
> index eb22d04..1e4f4eb 100644
> --- a/hw/rtl8139.c
> +++ b/hw/rtl8139.c
> @@ -781,7 +781,7 @@ static inline dma_addr_t rtl8139_addr64(uint32_t low, uint32_t high)
>   #endif
>   }
>
> -static int rtl8139_can_receive(VLANClientState *nc)
> +static int rtl8139_can_receive(NetClientState *nc)
>   {
>       RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       int avail;
> @@ -806,7 +806,7 @@ static int rtl8139_can_receive(VLANClientState *nc)
>       }
>   }
>
> -static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_t size_, int do_interrupt)
> +static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t size_, int do_interrupt)
>   {
>       RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       /* size is the length of the buffer passed to the driver */
> @@ -1185,7 +1185,7 @@ static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_
>       return size_;
>   }
>
> -static ssize_t rtl8139_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t rtl8139_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       return rtl8139_do_receive(nc, buf, size, 1);
>   }
> @@ -3429,7 +3429,7 @@ static void rtl8139_timer(void *opaque)
>       rtl8139_set_next_tctr_time(s, qemu_get_clock_ns(vm_clock));
>   }
>
> -static void rtl8139_cleanup(VLANClientState *nc)
> +static void rtl8139_cleanup(NetClientState *nc)
>   {
>       RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/smc91c111.c b/hw/smc91c111.c
> index 1a5213f..aaa2c60 100644
> --- a/hw/smc91c111.c
> +++ b/hw/smc91c111.c
> @@ -628,7 +628,7 @@ static uint32_t smc91c111_readl(void *opaque, target_phys_addr_t offset)
>       return val;
>   }
>
> -static int smc91c111_can_receive(VLANClientState *nc)
> +static int smc91c111_can_receive(NetClientState *nc)
>   {
>       smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -639,7 +639,7 @@ static int smc91c111_can_receive(VLANClientState *nc)
>       return 1;
>   }
>
> -static ssize_t smc91c111_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t smc91c111_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       int status;
> @@ -728,7 +728,7 @@ static const MemoryRegionOps smc91c111_mem_ops = {
>       .endianness = DEVICE_NATIVE_ENDIAN,
>   };
>
> -static void smc91c111_cleanup(VLANClientState *nc)
> +static void smc91c111_cleanup(NetClientState *nc)
>   {
>       smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/spapr_llan.c b/hw/spapr_llan.c
> index 8313043..76fa0b5 100644
> --- a/hw/spapr_llan.c
> +++ b/hw/spapr_llan.c
> @@ -83,14 +83,14 @@ typedef struct VIOsPAPRVLANDevice {
>       target_ulong rxq_ptr;
>   } VIOsPAPRVLANDevice;
>
> -static int spapr_vlan_can_receive(VLANClientState *nc)
> +static int spapr_vlan_can_receive(NetClientState *nc)
>   {
>       VIOsPAPRVLANDevice *dev = DO_UPCAST(NICState, nc, nc)->opaque;
>
>       return (dev->isopen&&  dev->rx_bufs>  0);
>   }
>
> -static ssize_t spapr_vlan_receive(VLANClientState *nc, const uint8_t *buf,
> +static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
>                                     size_t size)
>   {
>       VIOsPAPRDevice *sdev = DO_UPCAST(NICState, nc, nc)->opaque;
> diff --git a/hw/stellaris_enet.c b/hw/stellaris_enet.c
> index fbe99cb..fcc6cd0 100644
> --- a/hw/stellaris_enet.c
> +++ b/hw/stellaris_enet.c
> @@ -78,7 +78,7 @@ static void stellaris_enet_update(stellaris_enet_state *s)
>   }
>
>   /* TODO: Implement MAC address filtering.  */
> -static ssize_t stellaris_enet_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t stellaris_enet_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       int n;
> @@ -120,7 +120,7 @@ static ssize_t stellaris_enet_receive(VLANClientState *nc, const uint8_t *buf, s
>       return size;
>   }
>
> -static int stellaris_enet_can_receive(VLANClientState *nc)
> +static int stellaris_enet_can_receive(NetClientState *nc)
>   {
>       stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -381,7 +381,7 @@ static int stellaris_enet_load(QEMUFile *f, void *opaque, int version_id)
>       return 0;
>   }
>
> -static void stellaris_enet_cleanup(VLANClientState *nc)
> +static void stellaris_enet_cleanup(NetClientState *nc)
>   {
>       stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
> index 5d2f098..a1d3495 100644
> --- a/hw/usb/dev-network.c
> +++ b/hw/usb/dev-network.c
> @@ -1247,7 +1247,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p)
>       return ret;
>   }
>
> -static ssize_t usbnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t usbnet_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       struct rndis_packet_msg_type *msg;
> @@ -1285,7 +1285,7 @@ static ssize_t usbnet_receive(VLANClientState *nc, const uint8_t *buf, size_t si
>       return size;
>   }
>
> -static int usbnet_can_receive(VLANClientState *nc)
> +static int usbnet_can_receive(NetClientState *nc)
>   {
>       USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -1296,7 +1296,7 @@ static int usbnet_can_receive(VLANClientState *nc)
>       return !s->in_len;
>   }
>
> -static void usbnet_cleanup(VLANClientState *nc)
> +static void usbnet_cleanup(NetClientState *nc)
>   {
>       USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/vhost_net.c b/hw/vhost_net.c
> index f672e9d..c3e6546 100644
> --- a/hw/vhost_net.c
> +++ b/hw/vhost_net.c
> @@ -42,7 +42,7 @@ struct vhost_net {
>       struct vhost_dev dev;
>       struct vhost_virtqueue vqs[2];
>       int backend;
> -    VLANClientState *vc;
> +    NetClientState *vc;
>   };
>
>   unsigned vhost_net_get_features(struct vhost_net *net, unsigned features)
> @@ -80,7 +80,7 @@ void vhost_net_ack_features(struct vhost_net *net, unsigned features)
>       }
>   }
>
> -static int vhost_net_get_fd(VLANClientState *backend)
> +static int vhost_net_get_fd(NetClientState *backend)
>   {
>       switch (backend->info->type) {
>       case NET_CLIENT_TYPE_TAP:
> @@ -91,7 +91,7 @@ static int vhost_net_get_fd(VLANClientState *backend)
>       }
>   }
>
> -struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd,
> +struct vhost_net *vhost_net_init(NetClientState *backend, int devfd,
>                                    bool force)
>   {
>       int r;
> @@ -214,7 +214,7 @@ void vhost_net_cleanup(struct vhost_net *net)
>       g_free(net);
>   }
>   #else
> -struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd,
> +struct vhost_net *vhost_net_init(NetClientState *backend, int devfd,
>                                    bool force)
>   {
>       error_report("vhost-net support is not compiled in");
> diff --git a/hw/vhost_net.h b/hw/vhost_net.h
> index 91e40b1..a9db234 100644
> --- a/hw/vhost_net.h
> +++ b/hw/vhost_net.h
> @@ -6,7 +6,7 @@
>   struct vhost_net;
>   typedef struct vhost_net VHostNetState;
>
> -VHostNetState *vhost_net_init(VLANClientState *backend, int devfd, bool force);
> +VHostNetState *vhost_net_init(NetClientState *backend, int devfd, bool force);
>
>   bool vhost_net_query(VHostNetState *net, VirtIODevice *dev);
>   int vhost_net_start(VHostNetState *net, VirtIODevice *dev);
> diff --git a/hw/virtio-net.c b/hw/virtio-net.c
> index 3f190d4..a73c523 100644
> --- a/hw/virtio-net.c
> +++ b/hw/virtio-net.c
> @@ -163,7 +163,7 @@ static void virtio_net_set_status(struct VirtIODevice *vdev, uint8_t status)
>       }
>   }
>
> -static void virtio_net_set_link_status(VLANClientState *nc)
> +static void virtio_net_set_link_status(NetClientState *nc)
>   {
>       VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>       uint16_t old_status = n->status;
> @@ -453,7 +453,7 @@ static void virtio_net_handle_rx(VirtIODevice *vdev, VirtQueue *vq)
>       qemu_notify_event();
>   }
>
> -static int virtio_net_can_receive(VLANClientState *nc)
> +static int virtio_net_can_receive(NetClientState *nc)
>   {
>       VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>       if (!n->vdev.vm_running) {
> @@ -593,7 +593,7 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size)
>       return 0;
>   }
>
> -static ssize_t virtio_net_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>       struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL;
> @@ -690,7 +690,7 @@ static ssize_t virtio_net_receive(VLANClientState *nc, const uint8_t *buf, size_
>
>   static int32_t virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq);
>
> -static void virtio_net_tx_complete(VLANClientState *nc, ssize_t len)
> +static void virtio_net_tx_complete(NetClientState *nc, ssize_t len)
>   {
>       VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -980,7 +980,7 @@ static int virtio_net_load(QEMUFile *f, void *opaque, int version_id)
>       return 0;
>   }
>
> -static void virtio_net_cleanup(VLANClientState *nc)
> +static void virtio_net_cleanup(NetClientState *nc)
>   {
>       VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/hw/xen_nic.c b/hw/xen_nic.c
> index 85526fe..6391a04 100644
> --- a/hw/xen_nic.c
> +++ b/hw/xen_nic.c
> @@ -236,7 +236,7 @@ static void net_rx_response(struct XenNetDev *netdev,
>
>   #define NET_IP_ALIGN 2
>
> -static int net_rx_ok(VLANClientState *nc)
> +static int net_rx_ok(NetClientState *nc)
>   {
>       struct XenNetDev *netdev = DO_UPCAST(NICState, nc, nc)->opaque;
>       RING_IDX rc, rp;
> @@ -257,7 +257,7 @@ static int net_rx_ok(VLANClientState *nc)
>       return 1;
>   }
>
> -static ssize_t net_rx_packet(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       struct XenNetDev *netdev = DO_UPCAST(NICState, nc, nc)->opaque;
>       netif_rx_request_t rxreq;
> diff --git a/hw/xgmac.c b/hw/xgmac.c
> index dd4bdc4..b2cae49 100644
> --- a/hw/xgmac.c
> +++ b/hw/xgmac.c
> @@ -308,7 +308,7 @@ static const MemoryRegionOps enet_mem_ops = {
>       .endianness = DEVICE_LITTLE_ENDIAN,
>   };
>
> -static int eth_can_rx(VLANClientState *nc)
> +static int eth_can_rx(NetClientState *nc)
>   {
>       struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -316,7 +316,7 @@ static int eth_can_rx(VLANClientState *nc)
>       return s->regs[DMA_CONTROL]&  DMA_CONTROL_SR;
>   }
>
> -static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       static const unsigned char sa_bcast[6] = {0xff, 0xff, 0xff,
> @@ -364,7 +364,7 @@ out:
>       return ret;
>   }
>
> -static void eth_cleanup(VLANClientState *nc)
> +static void eth_cleanup(NetClientState *nc)
>   {
>       struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       s->nic = NULL;
> diff --git a/hw/xilinx_axienet.c b/hw/xilinx_axienet.c
> index 2e8d8a5..984071a 100644
> --- a/hw/xilinx_axienet.c
> +++ b/hw/xilinx_axienet.c
> @@ -612,7 +612,7 @@ static const MemoryRegionOps enet_ops = {
>       .endianness = DEVICE_LITTLE_ENDIAN,
>   };
>
> -static int eth_can_rx(VLANClientState *nc)
> +static int eth_can_rx(NetClientState *nc)
>   {
>       struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> @@ -635,7 +635,7 @@ static int enet_match_addr(const uint8_t *buf, uint32_t f0, uint32_t f1)
>       return match;
>   }
>
> -static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       static const unsigned char sa_bcast[6] = {0xff, 0xff, 0xff,
> @@ -780,7 +780,7 @@ static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
>       return size;
>   }
>
> -static void eth_cleanup(VLANClientState *nc)
> +static void eth_cleanup(NetClientState *nc)
>   {
>       /* FIXME.  */
>       struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
> diff --git a/hw/xilinx_ethlite.c b/hw/xilinx_ethlite.c
> index affbb8b..f261d89 100644
> --- a/hw/xilinx_ethlite.c
> +++ b/hw/xilinx_ethlite.c
> @@ -160,7 +160,7 @@ static const MemoryRegionOps eth_ops = {
>       }
>   };
>
> -static int eth_can_rx(VLANClientState *nc)
> +static int eth_can_rx(NetClientState *nc)
>   {
>       struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       int r;
> @@ -168,7 +168,7 @@ static int eth_can_rx(VLANClientState *nc)
>       return r;
>   }
>
> -static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
>       unsigned int rxbase = s->rxbuf * (0x800 / 4);
> @@ -194,7 +194,7 @@ static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
>       return size;
>   }
>
> -static void eth_cleanup(VLANClientState *nc)
> +static void eth_cleanup(NetClientState *nc)
>   {
>       struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
>
> diff --git a/net.c b/net.c
> index d3a685e..b35339a 100644
> --- a/net.c
> +++ b/net.c
> @@ -44,7 +44,7 @@
>   # define CONFIG_NET_BRIDGE
>   #endif
>
> -static QTAILQ_HEAD(, VLANClientState) net_clients;
> +static QTAILQ_HEAD(, NetClientState) net_clients;
>
>   int default_net = 1;
>
> @@ -129,7 +129,7 @@ int parse_host_port(struct sockaddr_in *saddr, const char *str)
>       return 0;
>   }
>
> -void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6])
> +void qemu_format_nic_info_str(NetClientState *vc, uint8_t macaddr[6])
>   {
>       snprintf(vc->info_str, sizeof(vc->info_str),
>                "model=%s,macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
> @@ -159,9 +159,9 @@ void qemu_macaddr_default_if_unset(MACAddr *macaddr)
>    * Only net clients created with the legacy -net option need this.  Naming is
>    * mandatory for net clients created with -netdev.
>    */
> -static char *assign_name(VLANClientState *vc1, const char *model)
> +static char *assign_name(NetClientState *vc1, const char *model)
>   {
> -    VLANClientState *vc;
> +    NetClientState *vc;
>       char buf[256];
>       int id = 0;
>
> @@ -181,25 +181,25 @@ static char *assign_name(VLANClientState *vc1, const char *model)
>       return g_strdup(buf);
>   }
>
> -static ssize_t qemu_deliver_packet(VLANClientState *sender,
> +static ssize_t qemu_deliver_packet(NetClientState *sender,
>                                      unsigned flags,
>                                      const uint8_t *data,
>                                      size_t size,
>                                      void *opaque);
> -static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
> +static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
>                                          unsigned flags,
>                                          const struct iovec *iov,
>                                          int iovcnt,
>                                          void *opaque);
>
> -VLANClientState *qemu_new_net_client(NetClientInfo *info,
> -                                     VLANClientState *peer,
> -                                     const char *model,
> -                                     const char *name)
> +NetClientState *qemu_new_net_client(NetClientInfo *info,
> +                                    NetClientState *peer,
> +                                    const char *model,
> +                                    const char *name)
>   {
> -    VLANClientState *vc;
> +    NetClientState *vc;
>
> -    assert(info->size>= sizeof(VLANClientState));
> +    assert(info->size>= sizeof(NetClientState));
>
>       vc = g_malloc0(info->size);
>
> @@ -231,7 +231,7 @@ NICState *qemu_new_nic(NetClientInfo *info,
>                          const char *name,
>                          void *opaque)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       NICState *nic;
>
>       assert(info->type == NET_CLIENT_TYPE_NIC);
> @@ -246,7 +246,7 @@ NICState *qemu_new_nic(NetClientInfo *info,
>       return nic;
>   }
>
> -static void qemu_cleanup_vlan_client(VLANClientState *vc)
> +static void qemu_cleanup_vlan_client(NetClientState *vc)
>   {
>       QTAILQ_REMOVE(&net_clients, vc, next);
>
> @@ -255,7 +255,7 @@ static void qemu_cleanup_vlan_client(VLANClientState *vc)
>       }
>   }
>
> -static void qemu_free_vlan_client(VLANClientState *vc)
> +static void qemu_free_vlan_client(NetClientState *vc)
>   {
>       if (vc->send_queue) {
>           qemu_del_net_queue(vc->send_queue);
> @@ -268,7 +268,7 @@ static void qemu_free_vlan_client(VLANClientState *vc)
>       g_free(vc);
>   }
>
> -void qemu_del_vlan_client(VLANClientState *vc)
> +void qemu_del_vlan_client(NetClientState *vc)
>   {
>       /* If there is a peer NIC, delete and cleanup client, but do not free. */
>       if (vc->peer&&  vc->peer->info->type == NET_CLIENT_TYPE_NIC) {
> @@ -300,7 +300,7 @@ void qemu_del_vlan_client(VLANClientState *vc)
>
>   void qemu_foreach_nic(qemu_nic_foreach func, void *opaque)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>
>       QTAILQ_FOREACH(nc,&net_clients, next) {
>           if (nc->info->type == NET_CLIENT_TYPE_NIC) {
> @@ -309,7 +309,7 @@ void qemu_foreach_nic(qemu_nic_foreach func, void *opaque)
>       }
>   }
>
> -int qemu_can_send_packet(VLANClientState *sender)
> +int qemu_can_send_packet(NetClientState *sender)
>   {
>       if (!sender->peer) {
>           return 1;
> @@ -324,13 +324,13 @@ int qemu_can_send_packet(VLANClientState *sender)
>       return 1;
>   }
>
> -static ssize_t qemu_deliver_packet(VLANClientState *sender,
> +static ssize_t qemu_deliver_packet(NetClientState *sender,
>                                      unsigned flags,
>                                      const uint8_t *data,
>                                      size_t size,
>                                      void *opaque)
>   {
> -    VLANClientState *vc = opaque;
> +    NetClientState *vc = opaque;
>       ssize_t ret;
>
>       if (vc->link_down) {
> @@ -354,7 +354,7 @@ static ssize_t qemu_deliver_packet(VLANClientState *sender,
>       return ret;
>   }
>
> -void qemu_purge_queued_packets(VLANClientState *vc)
> +void qemu_purge_queued_packets(NetClientState *vc)
>   {
>       if (!vc->peer) {
>           return;
> @@ -363,14 +363,14 @@ void qemu_purge_queued_packets(VLANClientState *vc)
>       qemu_net_queue_purge(vc->peer->send_queue, vc);
>   }
>
> -void qemu_flush_queued_packets(VLANClientState *vc)
> +void qemu_flush_queued_packets(NetClientState *vc)
>   {
>       vc->receive_disabled = 0;
>
>       qemu_net_queue_flush(vc->send_queue);
>   }
>
> -static ssize_t qemu_send_packet_async_with_flags(VLANClientState *sender,
> +static ssize_t qemu_send_packet_async_with_flags(NetClientState *sender,
>                                                    unsigned flags,
>                                                    const uint8_t *buf, int size,
>                                                    NetPacketSent *sent_cb)
> @@ -391,7 +391,7 @@ static ssize_t qemu_send_packet_async_with_flags(VLANClientState *sender,
>       return qemu_net_queue_send(queue, sender, flags, buf, size, sent_cb);
>   }
>
> -ssize_t qemu_send_packet_async(VLANClientState *sender,
> +ssize_t qemu_send_packet_async(NetClientState *sender,
>                                  const uint8_t *buf, int size,
>                                  NetPacketSent *sent_cb)
>   {
> @@ -399,18 +399,18 @@ ssize_t qemu_send_packet_async(VLANClientState *sender,
>                                                buf, size, sent_cb);
>   }
>
> -void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size)
> +void qemu_send_packet(NetClientState *vc, const uint8_t *buf, int size)
>   {
>       qemu_send_packet_async(vc, buf, size, NULL);
>   }
>
> -ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int size)
> +ssize_t qemu_send_packet_raw(NetClientState *vc, const uint8_t *buf, int size)
>   {
>       return qemu_send_packet_async_with_flags(vc, QEMU_NET_PACKET_FLAG_RAW,
>                                                buf, size, NULL);
>   }
>
> -static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov,
> +static ssize_t vc_sendv_compat(NetClientState *vc, const struct iovec *iov,
>                                  int iovcnt)
>   {
>       uint8_t buffer[4096];
> @@ -421,13 +421,13 @@ static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov,
>       return vc->info->receive(vc, buffer, offset);
>   }
>
> -static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
> +static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
>                                          unsigned flags,
>                                          const struct iovec *iov,
>                                          int iovcnt,
>                                          void *opaque)
>   {
> -    VLANClientState *vc = opaque;
> +    NetClientState *vc = opaque;
>
>       if (vc->link_down) {
>           return iov_size(iov, iovcnt);
> @@ -440,7 +440,7 @@ static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
>       }
>   }
>
> -ssize_t qemu_sendv_packet_async(VLANClientState *sender,
> +ssize_t qemu_sendv_packet_async(NetClientState *sender,
>                                   const struct iovec *iov, int iovcnt,
>                                   NetPacketSent *sent_cb)
>   {
> @@ -458,14 +458,14 @@ ssize_t qemu_sendv_packet_async(VLANClientState *sender,
>   }
>
>   ssize_t
> -qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov, int iovcnt)
> +qemu_sendv_packet(NetClientState *vc, const struct iovec *iov, int iovcnt)
>   {
>       return qemu_sendv_packet_async(vc, iov, iovcnt, NULL);
>   }
>
> -VLANClientState *qemu_find_netdev(const char *id)
> +NetClientState *qemu_find_netdev(const char *id)
>   {
> -    VLANClientState *vc;
> +    NetClientState *vc;
>
>       QTAILQ_FOREACH(vc,&net_clients, next) {
>           if (vc->info->type == NET_CLIENT_TYPE_NIC)
> @@ -549,7 +549,7 @@ int net_handle_fd_param(Monitor *mon, const char *param)
>       return fd;
>   }
>
> -static int net_init_nic(QemuOpts *opts, const char *name, VLANClientState *peer)
> +static int net_init_nic(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       int idx;
>       NICInfo *nd;
> @@ -623,7 +623,7 @@ static int net_init_nic(QemuOpts *opts, const char *name, VLANClientState *peer)
>
>   typedef int (*net_client_init_func)(QemuOpts *opts,
>                                       const char *name,
> -                                    VLANClientState *peer);
> +                                    NetClientState *peer);
>
>   /* magic number, but compiler will warn if too small */
>   #define NET_MAX_DESC 20
> @@ -937,7 +937,7 @@ int net_client_init(QemuOpts *opts, int is_netdev, Error **errp)
>           if (net_client_types[i].type != NULL&&
>               !strcmp(net_client_types[i].type, type)) {
>               Error *local_err = NULL;
> -            VLANClientState *peer = NULL;
> +            NetClientState *peer = NULL;
>               int ret;
>
>               qemu_opts_validate(opts,&net_client_types[i].desc[0],&local_err);
> @@ -1023,7 +1023,7 @@ void net_host_device_add(Monitor *mon, const QDict *qdict)
>
>   void net_host_device_remove(Monitor *mon, const QDict *qdict)
>   {
> -    VLANClientState *vc;
> +    NetClientState *vc;
>       int vlan_id = qdict_get_int(qdict, "vlan_id");
>       const char *device = qdict_get_str(qdict, "device");
>
> @@ -1075,7 +1075,7 @@ exit_err:
>
>   void qmp_netdev_del(const char *id, Error **errp)
>   {
> -    VLANClientState *vc;
> +    NetClientState *vc;
>
>       vc = qemu_find_netdev(id);
>       if (!vc) {
> @@ -1087,7 +1087,7 @@ void qmp_netdev_del(const char *id, Error **errp)
>       qemu_opts_del(qemu_opts_find(qemu_find_opts_err("netdev", errp), id));
>   }
>
> -static void print_net_client(Monitor *mon, VLANClientState *vc)
> +static void print_net_client(Monitor *mon, NetClientState *vc)
>   {
>       monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
>                      net_client_types[vc->info->type].type, vc->info_str);
> @@ -1095,7 +1095,7 @@ static void print_net_client(Monitor *mon, VLANClientState *vc)
>
>   void do_info_network(Monitor *mon)
>   {
> -    VLANClientState *vc, *peer;
> +    NetClientState *vc, *peer;
>       net_client_type type;
>
>       monitor_printf(mon, "Devices not on any VLAN:\n");
> @@ -1124,7 +1124,6 @@ void qmp_set_link(const char *name, bool up, Error **errp)
>           }
>       }
>   done:
> -
>       if (!vc) {
>           qerror_report(QERR_DEVICE_NOT_FOUND, name);
>           return;
> @@ -1150,7 +1149,7 @@ done:
>
>   void net_cleanup(void)
>   {
> -    VLANClientState *vc, *next_vc;
> +    NetClientState *vc, *next_vc;
>
>       QTAILQ_FOREACH_SAFE(vc,&net_clients, next, next_vc) {
>           qemu_del_vlan_client(vc);
> @@ -1159,7 +1158,7 @@ void net_cleanup(void)
>
>   void net_check_clients(void)
>   {
> -    VLANClientState *vc;
> +    NetClientState *vc;
>       int i;
>
>       /* Don't warn about the default network setup that you get if
> diff --git a/net.h b/net.h
> index 7b8501a..748f11c 100644
> --- a/net.h
> +++ b/net.h
> @@ -16,7 +16,7 @@ struct MACAddr {
>
>   typedef struct NICConf {
>       MACAddr macaddr;
> -    VLANClientState *peer;
> +    NetClientState *peer;
>       int32_t bootindex;
>   } NICConf;
>
> @@ -25,7 +25,7 @@ typedef struct NICConf {
>       DEFINE_PROP_NETDEV("netdev", _state, _conf.peer),                   \
>       DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1)
>
> -/* VLANs support */
> +/* Net clients */
>
>   typedef enum {
>       NET_CLIENT_TYPE_NONE,
> @@ -41,12 +41,12 @@ typedef enum {
>       NET_CLIENT_TYPE_MAX
>   } net_client_type;
>
> -typedef void (NetPoll)(VLANClientState *, bool enable);
> -typedef int (NetCanReceive)(VLANClientState *);
> -typedef ssize_t (NetReceive)(VLANClientState *, const uint8_t *, size_t);
> -typedef ssize_t (NetReceiveIOV)(VLANClientState *, const struct iovec *, int);
> -typedef void (NetCleanup) (VLANClientState *);
> -typedef void (LinkStatusChanged)(VLANClientState *);
> +typedef void (NetPoll)(NetClientState *, bool enable);
> +typedef int (NetCanReceive)(NetClientState *);
> +typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t);
> +typedef ssize_t (NetReceiveIOV)(NetClientState *, const struct iovec *, int);
> +typedef void (NetCleanup) (NetClientState *);
> +typedef void (LinkStatusChanged)(NetClientState *);
>
>   typedef struct NetClientInfo {
>       net_client_type type;
> @@ -60,11 +60,11 @@ typedef struct NetClientInfo {
>       NetPoll *poll;
>   } NetClientInfo;
>
> -struct VLANClientState {
> +struct NetClientState {
>       NetClientInfo *info;
>       int link_down;
> -    QTAILQ_ENTRY(VLANClientState) next;
> -    VLANClientState *peer;
> +    QTAILQ_ENTRY(NetClientState) next;
> +    NetClientState *peer;
>       NetQueue *send_queue;
>       char *model;
>       char *name;
> @@ -73,39 +73,39 @@ struct VLANClientState {
>   };
>
>   typedef struct NICState {
> -    VLANClientState nc;
> +    NetClientState nc;
>       NICConf *conf;
>       void *opaque;
>       bool peer_deleted;
>   } NICState;
>
> -VLANClientState *qemu_find_netdev(const char *id);
> -VLANClientState *qemu_new_net_client(NetClientInfo *info,
> -                                     VLANClientState *peer,
> -                                     const char *model,
> -                                     const char *name);
> +NetClientState *qemu_find_netdev(const char *id);
> +NetClientState *qemu_new_net_client(NetClientInfo *info,
> +                                    NetClientState *peer,
> +                                    const char *model,
> +                                    const char *name);
>   NICState *qemu_new_nic(NetClientInfo *info,
>                          NICConf *conf,
>                          const char *model,
>                          const char *name,
>                          void *opaque);
> -void qemu_del_vlan_client(VLANClientState *vc);
> -VLANClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id,
> -                                               const char *client_str);
> +void qemu_del_vlan_client(NetClientState *vc);
> +NetClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id,
> +                                              const char *client_str);
>   typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque);
>   void qemu_foreach_nic(qemu_nic_foreach func, void *opaque);
> -int qemu_can_send_packet(VLANClientState *vc);
> -ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
> +int qemu_can_send_packet(NetClientState *vc);
> +ssize_t qemu_sendv_packet(NetClientState *vc, const struct iovec *iov,
>                             int iovcnt);
> -ssize_t qemu_sendv_packet_async(VLANClientState *vc, const struct iovec *iov,
> +ssize_t qemu_sendv_packet_async(NetClientState *vc, const struct iovec *iov,
>                                   int iovcnt, NetPacketSent *sent_cb);
> -void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
> -ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int size);
> -ssize_t qemu_send_packet_async(VLANClientState *vc, const uint8_t *buf,
> +void qemu_send_packet(NetClientState *vc, const uint8_t *buf, int size);
> +ssize_t qemu_send_packet_raw(NetClientState *vc, const uint8_t *buf, int size);
> +ssize_t qemu_send_packet_async(NetClientState *vc, const uint8_t *buf,
>                                  int size, NetPacketSent *sent_cb);
> -void qemu_purge_queued_packets(VLANClientState *vc);
> -void qemu_flush_queued_packets(VLANClientState *vc);
> -void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]);
> +void qemu_purge_queued_packets(NetClientState *vc);
> +void qemu_flush_queued_packets(NetClientState *vc);
> +void qemu_format_nic_info_str(NetClientState *vc, uint8_t macaddr[6]);
>   void qemu_macaddr_default_if_unset(MACAddr *macaddr);
>   int qemu_show_nic_models(const char *arg, const char *const *models);
>   void qemu_check_nic_model(NICInfo *nd, const char *model);
> @@ -123,7 +123,7 @@ struct NICInfo {
>       char *model;
>       char *name;
>       char *devaddr;
> -    VLANClientState *netdev;
> +    NetClientState *netdev;
>       int used;         /* is this slot in nd_table[] being used? */
>       int instantiated; /* does this NICInfo correspond to an instantiated NIC? */
>       int nvectors;
> diff --git a/net/dump.c b/net/dump.c
> index 0349210..76f3664 100644
> --- a/net/dump.c
> +++ b/net/dump.c
> @@ -30,7 +30,7 @@
>   #include "hub.h"
>
>   typedef struct DumpState {
> -    VLANClientState nc;
> +    NetClientState nc;
>       int64_t start_ts;
>       int fd;
>       int pcap_caplen;
> @@ -57,7 +57,7 @@ struct pcap_sf_pkthdr {
>       uint32_t len;
>   };
>
> -static ssize_t dump_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t dump_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       DumpState *s = DO_UPCAST(DumpState, nc, nc);
>       struct pcap_sf_pkthdr hdr;
> @@ -86,7 +86,7 @@ static ssize_t dump_receive(VLANClientState *nc, const uint8_t *buf, size_t size
>       return size;
>   }
>
> -static void dump_cleanup(VLANClientState *nc)
> +static void dump_cleanup(NetClientState *nc)
>   {
>       DumpState *s = DO_UPCAST(DumpState, nc, nc);
>
> @@ -100,11 +100,11 @@ static NetClientInfo net_dump_info = {
>       .cleanup = dump_cleanup,
>   };
>
> -static int net_dump_init(VLANClientState *peer, const char *device,
> +static int net_dump_init(NetClientState *peer, const char *device,
>                            const char *name, const char *filename, int len)
>   {
>       struct pcap_file_hdr hdr;
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       DumpState *s;
>       struct tm tm;
>       int fd;
> @@ -145,7 +145,7 @@ static int net_dump_init(VLANClientState *peer, const char *device,
>       return 0;
>   }
>
> -int net_init_dump(QemuOpts *opts, const char *name, VLANClientState *peer)
> +int net_init_dump(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       int len;
>       const char *file;
> diff --git a/net/dump.h b/net/dump.h
> index 907eb03..e6d1d80 100644
> --- a/net/dump.h
> +++ b/net/dump.h
> @@ -27,6 +27,6 @@
>   #include "net.h"
>   #include "qemu-common.h"
>
> -int net_init_dump(QemuOpts *opts, const char *name, VLANClientState *peer);
> +int net_init_dump(QemuOpts *opts, const char *name, NetClientState *peer);
>
>   #endif /* QEMU_NET_DUMP_H */
> diff --git a/net/hub.c b/net/hub.c
> index fe78a72..122de69 100644
> --- a/net/hub.c
> +++ b/net/hub.c
> @@ -25,7 +25,7 @@
>   typedef struct NetHub NetHub;
>
>   typedef struct NetHubPort {
> -    VLANClientState nc;
> +    NetClientState nc;
>       QLIST_ENTRY(NetHubPort) next;
>       NetHub *hub;
>       unsigned int id;
> @@ -85,7 +85,7 @@ static NetHub *net_hub_new(unsigned int id)
>       return hub;
>   }
>
> -static ssize_t net_hub_port_receive(VLANClientState *nc,
> +static ssize_t net_hub_port_receive(NetClientState *nc,
>                                       const uint8_t *buf, size_t len)
>   {
>       NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
> @@ -93,7 +93,7 @@ static ssize_t net_hub_port_receive(VLANClientState *nc,
>       return net_hub_receive(port->hub, port, buf, len);
>   }
>
> -static ssize_t net_hub_port_receive_iov(VLANClientState *nc,
> +static ssize_t net_hub_port_receive_iov(NetClientState *nc,
>                                           const struct iovec *iov, int iovcnt)
>   {
>       NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
> @@ -101,7 +101,7 @@ static ssize_t net_hub_port_receive_iov(VLANClientState *nc,
>       return net_hub_receive_iov(port->hub, port, iov, iovcnt);
>   }
>
> -static void net_hub_port_cleanup(VLANClientState *nc)
> +static void net_hub_port_cleanup(NetClientState *nc)
>   {
>       NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
>
> @@ -118,7 +118,7 @@ static NetClientInfo net_hub_port_info = {
>
>   static NetHubPort *net_hub_port_new(NetHub *hub)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       NetHubPort *port;
>       unsigned int id = hub->num_ports++;
>       char name[128];
> @@ -140,7 +140,7 @@ static NetHubPort *net_hub_port_new(NetHub *hub)
>    *
>    * If there is no existing hub with the given id then a new hub is created.
>    */
> -VLANClientState *net_hub_add_port(unsigned int hub_id)
> +NetClientState *net_hub_add_port(unsigned int hub_id)
>   {
>       NetHub *hub;
>       NetHubPort *port;
> @@ -162,12 +162,12 @@ VLANClientState *net_hub_add_port(unsigned int hub_id)
>   /**
>    * Find a specific client on a hub
>    */
> -VLANClientState *net_hub_find_client_by_name(unsigned int hub_id,
> -                                             const char *name)
> +NetClientState *net_hub_find_client_by_name(unsigned int hub_id,
> +                                            const char *name)
>   {
>       NetHub *hub;
>       NetHubPort *port;
> -    VLANClientState *peer;
> +    NetClientState *peer;
>
>       QLIST_FOREACH(hub,&hubs, next) {
>           if (hub->id == hub_id) {
> @@ -205,7 +205,7 @@ void net_hub_info(Monitor *mon)
>    *
>    * @id              Pointer for hub id output, may be NULL
>    */
> -int net_hub_id_for_client(VLANClientState *nc, unsigned int *id)
> +int net_hub_id_for_client(NetClientState *nc, unsigned int *id)
>   {
>       NetHub *hub;
>       NetHubPort *port;
> @@ -231,7 +231,7 @@ void net_hub_check_clients(void)
>   {
>       NetHub *hub;
>       NetHubPort *port;
> -    VLANClientState *peer;
> +    NetClientState *peer;
>
>       QLIST_FOREACH(hub,&hubs, next) {
>           int has_nic = 0, has_host_dev = 0;
> diff --git a/net/hub.h b/net/hub.h
> index 10bf036..ff5024a 100644
> --- a/net/hub.h
> +++ b/net/hub.h
> @@ -17,11 +17,11 @@
>
>   #include "qemu-common.h"
>
> -VLANClientState *net_hub_add_port(unsigned int hub_id);
> -VLANClientState *net_hub_find_client_by_name(unsigned int hub_id,
> -                                             const char *name);
> +NetClientState *net_hub_add_port(unsigned int hub_id);
> +NetClientState *net_hub_find_client_by_name(unsigned int hub_id,
> +                                            const char *name);
>   void net_hub_info(Monitor *mon);
> -int net_hub_id_for_client(VLANClientState *nc, unsigned int *id);
> +int net_hub_id_for_client(NetClientState *nc, unsigned int *id);
>   void net_hub_check_clients(void);
>
>   #endif /* NET_HUB_H */
> diff --git a/net/queue.c b/net/queue.c
> index 1ab5247..35c3463 100644
> --- a/net/queue.c
> +++ b/net/queue.c
> @@ -40,7 +40,7 @@
>
>   struct NetPacket {
>       QTAILQ_ENTRY(NetPacket) entry;
> -    VLANClientState *sender;
> +    NetClientState *sender;
>       unsigned flags;
>       int size;
>       NetPacketSent *sent_cb;
> @@ -89,7 +89,7 @@ void qemu_del_net_queue(NetQueue *queue)
>   }
>
>   static ssize_t qemu_net_queue_append(NetQueue *queue,
> -                                     VLANClientState *sender,
> +                                     NetClientState *sender,
>                                        unsigned flags,
>                                        const uint8_t *buf,
>                                        size_t size,
> @@ -110,7 +110,7 @@ static ssize_t qemu_net_queue_append(NetQueue *queue,
>   }
>
>   static ssize_t qemu_net_queue_append_iov(NetQueue *queue,
> -                                         VLANClientState *sender,
> +                                         NetClientState *sender,
>                                            unsigned flags,
>                                            const struct iovec *iov,
>                                            int iovcnt,
> @@ -143,7 +143,7 @@ static ssize_t qemu_net_queue_append_iov(NetQueue *queue,
>   }
>
>   static ssize_t qemu_net_queue_deliver(NetQueue *queue,
> -                                      VLANClientState *sender,
> +                                      NetClientState *sender,
>                                         unsigned flags,
>                                         const uint8_t *data,
>                                         size_t size)
> @@ -158,7 +158,7 @@ static ssize_t qemu_net_queue_deliver(NetQueue *queue,
>   }
>
>   static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
> -                                          VLANClientState *sender,
> +                                          NetClientState *sender,
>                                             unsigned flags,
>                                             const struct iovec *iov,
>                                             int iovcnt)
> @@ -173,7 +173,7 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
>   }
>
>   ssize_t qemu_net_queue_send(NetQueue *queue,
> -                            VLANClientState *sender,
> +                            NetClientState *sender,
>                               unsigned flags,
>                               const uint8_t *data,
>                               size_t size,
> @@ -197,7 +197,7 @@ ssize_t qemu_net_queue_send(NetQueue *queue,
>   }
>
>   ssize_t qemu_net_queue_send_iov(NetQueue *queue,
> -                                VLANClientState *sender,
> +                                NetClientState *sender,
>                                   unsigned flags,
>                                   const struct iovec *iov,
>                                   int iovcnt,
> @@ -220,7 +220,7 @@ ssize_t qemu_net_queue_send_iov(NetQueue *queue,
>       return ret;
>   }
>
> -void qemu_net_queue_purge(NetQueue *queue, VLANClientState *from)
> +void qemu_net_queue_purge(NetQueue *queue, NetClientState *from)
>   {
>       NetPacket *packet, *next;
>
> diff --git a/net/queue.h b/net/queue.h
> index a31958e..d8eac0b 100644
> --- a/net/queue.h
> +++ b/net/queue.h
> @@ -29,15 +29,15 @@
>   typedef struct NetPacket NetPacket;
>   typedef struct NetQueue NetQueue;
>
> -typedef void (NetPacketSent) (VLANClientState *sender, ssize_t ret);
> +typedef void (NetPacketSent) (NetClientState *sender, ssize_t ret);
>
> -typedef ssize_t (NetPacketDeliver) (VLANClientState *sender,
> +typedef ssize_t (NetPacketDeliver) (NetClientState *sender,
>                                       unsigned flags,
>                                       const uint8_t *buf,
>                                       size_t size,
>                                       void *opaque);
>
> -typedef ssize_t (NetPacketDeliverIOV) (VLANClientState *sender,
> +typedef ssize_t (NetPacketDeliverIOV) (NetClientState *sender,
>                                          unsigned flags,
>                                          const struct iovec *iov,
>                                          int iovcnt,
> @@ -52,20 +52,20 @@ NetQueue *qemu_new_net_queue(NetPacketDeliver *deliver,
>   void qemu_del_net_queue(NetQueue *queue);
>
>   ssize_t qemu_net_queue_send(NetQueue *queue,
> -                            VLANClientState *sender,
> +                            NetClientState *sender,
>                               unsigned flags,
>                               const uint8_t *data,
>                               size_t size,
>                               NetPacketSent *sent_cb);
>
>   ssize_t qemu_net_queue_send_iov(NetQueue *queue,
> -                                VLANClientState *sender,
> +                                NetClientState *sender,
>                                   unsigned flags,
>                                   const struct iovec *iov,
>                                   int iovcnt,
>                                   NetPacketSent *sent_cb);
>
> -void qemu_net_queue_purge(NetQueue *queue, VLANClientState *from);
> +void qemu_net_queue_purge(NetQueue *queue, NetClientState *from);
>   void qemu_net_queue_flush(NetQueue *queue);
>
>   #endif /* QEMU_NET_QUEUE_H */
> diff --git a/net/slirp.c b/net/slirp.c
> index 1145412..b060309 100644
> --- a/net/slirp.c
> +++ b/net/slirp.c
> @@ -67,7 +67,7 @@ struct slirp_config_str {
>   };
>
>   typedef struct SlirpState {
> -    VLANClientState nc;
> +    NetClientState nc;
>       QTAILQ_ENTRY(SlirpState) entry;
>       Slirp *slirp;
>   #ifndef _WIN32
> @@ -110,7 +110,7 @@ void slirp_output(void *opaque, const uint8_t *pkt, int pkt_len)
>       qemu_send_packet(&s->nc, pkt, pkt_len);
>   }
>
> -static ssize_t net_slirp_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t net_slirp_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       SlirpState *s = DO_UPCAST(SlirpState, nc, nc);
>
> @@ -119,7 +119,7 @@ static ssize_t net_slirp_receive(VLANClientState *nc, const uint8_t *buf, size_t
>       return size;
>   }
>
> -static void net_slirp_cleanup(VLANClientState *nc)
> +static void net_slirp_cleanup(NetClientState *nc)
>   {
>       SlirpState *s = DO_UPCAST(SlirpState, nc, nc);
>
> @@ -135,7 +135,7 @@ static NetClientInfo net_slirp_info = {
>       .cleanup = net_slirp_cleanup,
>   };
>
> -static int net_slirp_init(VLANClientState *peer, const char *model,
> +static int net_slirp_init(NetClientState *peer, const char *model,
>                             const char *name, int restricted,
>                             const char *vnetwork, const char *vhost,
>                             const char *vhostname, const char *tftp_export,
> @@ -152,7 +152,7 @@ static int net_slirp_init(VLANClientState *peer, const char *model,
>   #ifndef _WIN32
>       struct in_addr smbsrv = { .s_addr = 0 };
>   #endif
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       SlirpState *s;
>       char buf[20];
>       uint32_t addr;
> @@ -283,7 +283,7 @@ static SlirpState *slirp_lookup(Monitor *mon, const char *vlan,
>   {
>
>       if (vlan) {
> -        VLANClientState *nc;
> +        NetClientState *nc;
>           nc = net_hub_find_client_by_name(strtol(vlan, NULL, 0), stack);
>           if (!nc) {
>               return NULL;
> @@ -677,7 +677,7 @@ static int net_init_slirp_configs(const char *name, const char *value, void *opa
>       return 0;
>   }
>
> -int net_init_slirp(QemuOpts *opts, const char *name, VLANClientState *peer)
> +int net_init_slirp(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       struct slirp_config_str *config;
>       const char *vhost;
> diff --git a/net/slirp.h b/net/slirp.h
> index a1ea8f2..de6a009 100644
> --- a/net/slirp.h
> +++ b/net/slirp.h
> @@ -30,7 +30,7 @@
>
>   #ifdef CONFIG_SLIRP
>
> -int net_init_slirp(QemuOpts *opts, const char *name, VLANClientState *peer);
> +int net_init_slirp(QemuOpts *opts, const char *name, NetClientState *peer);
>
>   void net_slirp_hostfwd_add(Monitor *mon, const QDict *qdict);
>   void net_slirp_hostfwd_remove(Monitor *mon, const QDict *qdict);
> diff --git a/net/socket.c b/net/socket.c
> index 62e5ac5..dc5ba40 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -34,7 +34,7 @@
>   #include "qemu_socket.h"
>
>   typedef struct NetSocketState {
> -    VLANClientState nc;
> +    NetClientState nc;
>       int fd;
>       int state; /* 0 = getting length, 1 = getting data */
>       unsigned int index;
> @@ -44,14 +44,14 @@ typedef struct NetSocketState {
>   } NetSocketState;
>
>   typedef struct NetSocketListenState {
> -    VLANClientState *peer;
> +    NetClientState *peer;
>       char *model;
>       char *name;
>       int fd;
>   } NetSocketListenState;
>
>   /* XXX: we consider we can send the whole packet without blocking */
> -static ssize_t net_socket_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t net_socket_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
>       uint32_t len;
> @@ -61,7 +61,7 @@ static ssize_t net_socket_receive(VLANClientState *nc, const uint8_t *buf, size_
>       return send_all(s->fd, buf, size);
>   }
>
> -static ssize_t net_socket_receive_dgram(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
>
> @@ -231,7 +231,7 @@ fail:
>       return -1;
>   }
>
> -static void net_socket_cleanup(VLANClientState *nc)
> +static void net_socket_cleanup(NetClientState *nc)
>   {
>       NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
>       qemu_set_fd_handler(s->fd, NULL, NULL, NULL);
> @@ -245,7 +245,7 @@ static NetClientInfo net_dgram_socket_info = {
>       .cleanup = net_socket_cleanup,
>   };
>
> -static NetSocketState *net_socket_fd_init_dgram(VLANClientState *peer,
> +static NetSocketState *net_socket_fd_init_dgram(NetClientState *peer,
>                                                   const char *model,
>                                                   const char *name,
>                                                   int fd, int is_connected)
> @@ -253,7 +253,7 @@ static NetSocketState *net_socket_fd_init_dgram(VLANClientState *peer,
>       struct sockaddr_in saddr;
>       int newfd;
>       socklen_t saddr_len;
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       NetSocketState *s;
>
>       /* fd passed: multicast: "learn" dgram_dst address from bound address and save it
> @@ -323,12 +323,12 @@ static NetClientInfo net_socket_info = {
>       .cleanup = net_socket_cleanup,
>   };
>
> -static NetSocketState *net_socket_fd_init_stream(VLANClientState *peer,
> +static NetSocketState *net_socket_fd_init_stream(NetClientState *peer,
>                                                    const char *model,
>                                                    const char *name,
>                                                    int fd, int is_connected)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       NetSocketState *s;
>
>       nc = qemu_new_net_client(&net_socket_info, peer, model, name);
> @@ -347,7 +347,7 @@ static NetSocketState *net_socket_fd_init_stream(VLANClientState *peer,
>       return s;
>   }
>
> -static NetSocketState *net_socket_fd_init(VLANClientState *peer,
> +static NetSocketState *net_socket_fd_init(NetClientState *peer,
>                                             const char *model, const char *name,
>                                             int fd, int is_connected)
>   {
> @@ -400,7 +400,7 @@ static void net_socket_accept(void *opaque)
>       }
>   }
>
> -static int net_socket_listen_init(VLANClientState *peer,
> +static int net_socket_listen_init(NetClientState *peer,
>                                     const char *model,
>                                     const char *name,
>                                     const char *host_str)
> @@ -448,7 +448,7 @@ static int net_socket_listen_init(VLANClientState *peer,
>       return 0;
>   }
>
> -static int net_socket_connect_init(VLANClientState *peer,
> +static int net_socket_connect_init(NetClientState *peer,
>                                      const char *model,
>                                      const char *name,
>                                      const char *host_str)
> @@ -498,7 +498,7 @@ static int net_socket_connect_init(VLANClientState *peer,
>       return 0;
>   }
>
> -static int net_socket_mcast_init(VLANClientState *peer,
> +static int net_socket_mcast_init(NetClientState *peer,
>                                    const char *model,
>                                    const char *name,
>                                    const char *host_str,
> @@ -588,7 +588,7 @@ static int net_socket_udp_init(NetClientState *peer,
>       return 0;
>   }
>
> -int net_init_socket(QemuOpts *opts, const char *name, VLANClientState *peer)
> +int net_init_socket(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       if (qemu_opt_get(opts, "fd")) {
>           int fd;
> diff --git a/net/socket.h b/net/socket.h
> index c1ee5b3..d1e5700 100644
> --- a/net/socket.h
> +++ b/net/socket.h
> @@ -27,6 +27,6 @@
>   #include "net.h"
>   #include "qemu-common.h"
>
> -int net_init_socket(QemuOpts *opts, const char *name, VLANClientState *vlan);
> +int net_init_socket(QemuOpts *opts, const char *name, NetClientState *vlan);
>
>   #endif /* QEMU_NET_SOCKET_H */
> diff --git a/net/tap-win32.c b/net/tap-win32.c
> index 905781c..05d3cbc 100644
> --- a/net/tap-win32.c
> +++ b/net/tap-win32.c
> @@ -630,11 +630,11 @@ static int tap_win32_open(tap_win32_overlapped_t **phandle,
>   /********************************************/
>
>    typedef struct TAPState {
> -     VLANClientState nc;
> +     NetClientState nc;
>        tap_win32_overlapped_t *handle;
>    } TAPState;
>
> -static void tap_cleanup(VLANClientState *nc)
> +static void tap_cleanup(NetClientState *nc)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -645,7 +645,7 @@ static void tap_cleanup(VLANClientState *nc)
>       */
>   }
>
> -static ssize_t tap_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -673,10 +673,10 @@ static NetClientInfo net_tap_win32_info = {
>       .cleanup = tap_cleanup,
>   };
>
> -static int tap_win32_init(VLANClientState *peer, const char *model,
> +static int tap_win32_init(NetClientState *peer, const char *model,
>                             const char *name, const char *ifname)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       TAPState *s;
>       tap_win32_overlapped_t *handle;
>
> @@ -699,7 +699,7 @@ static int tap_win32_init(VLANClientState *peer, const char *model,
>       return 0;
>   }
>
> -int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
> +int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       const char *ifname;
>
> @@ -717,12 +717,12 @@ int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
>       return 0;
>   }
>
> -int tap_has_ufo(VLANClientState *vc)
> +int tap_has_ufo(NetClientState *vc)
>   {
>       return 0;
>   }
>
> -int tap_has_vnet_hdr(VLANClientState *vc)
> +int tap_has_vnet_hdr(NetClientState *vc)
>   {
>       return 0;
>   }
> @@ -736,16 +736,16 @@ void tap_fd_set_vnet_hdr_len(int fd, int len)
>   {
>   }
>
> -void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr)
> +void tap_using_vnet_hdr(NetClientState *vc, int using_vnet_hdr)
>   {
>   }
>
> -void tap_set_offload(VLANClientState *vc, int csum, int tso4,
> +void tap_set_offload(NetClientState *vc, int csum, int tso4,
>                        int tso6, int ecn, int ufo)
>   {
>   }
>
> -struct vhost_net *tap_get_vhost_net(VLANClientState *nc)
> +struct vhost_net *tap_get_vhost_net(NetClientState *nc)
>   {
>       return NULL;
>   }
> diff --git a/net/tap.c b/net/tap.c
> index f814936..e2f0536 100644
> --- a/net/tap.c
> +++ b/net/tap.c
> @@ -49,7 +49,7 @@
>   #define TAP_BUFSIZE (4096 + 65536)
>
>   typedef struct TAPState {
> -    VLANClientState nc;
> +    NetClientState nc;
>       int fd;
>       char down_script[1024];
>       char down_script_arg[128];
> @@ -114,7 +114,7 @@ static ssize_t tap_write_packet(TAPState *s, const struct iovec *iov, int iovcnt
>       return len;
>   }
>
> -static ssize_t tap_receive_iov(VLANClientState *nc, const struct iovec *iov,
> +static ssize_t tap_receive_iov(NetClientState *nc, const struct iovec *iov,
>                                  int iovcnt)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
> @@ -133,7 +133,7 @@ static ssize_t tap_receive_iov(VLANClientState *nc, const struct iovec *iov,
>       return tap_write_packet(s, iovp, iovcnt);
>   }
>
> -static ssize_t tap_receive_raw(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t tap_receive_raw(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>       struct iovec iov[2];
> @@ -153,7 +153,7 @@ static ssize_t tap_receive_raw(VLANClientState *nc, const uint8_t *buf, size_t s
>       return tap_write_packet(s, iov, iovcnt);
>   }
>
> -static ssize_t tap_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>       struct iovec iov[1];
> @@ -182,7 +182,7 @@ ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen)
>   }
>   #endif
>
> -static void tap_send_completed(VLANClientState *nc, ssize_t len)
> +static void tap_send_completed(NetClientState *nc, ssize_t len)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>       tap_read_poll(s, 1);
> @@ -213,7 +213,7 @@ static void tap_send(void *opaque)
>       } while (size>  0&&  qemu_can_send_packet(&s->nc));
>   }
>
> -int tap_has_ufo(VLANClientState *nc)
> +int tap_has_ufo(NetClientState *nc)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -222,7 +222,7 @@ int tap_has_ufo(VLANClientState *nc)
>       return s->has_ufo;
>   }
>
> -int tap_has_vnet_hdr(VLANClientState *nc)
> +int tap_has_vnet_hdr(NetClientState *nc)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -231,7 +231,7 @@ int tap_has_vnet_hdr(VLANClientState *nc)
>       return !!s->host_vnet_hdr_len;
>   }
>
> -int tap_has_vnet_hdr_len(VLANClientState *nc, int len)
> +int tap_has_vnet_hdr_len(NetClientState *nc, int len)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -240,7 +240,7 @@ int tap_has_vnet_hdr_len(VLANClientState *nc, int len)
>       return tap_probe_vnet_hdr_len(s->fd, len);
>   }
>
> -void tap_set_vnet_hdr_len(VLANClientState *nc, int len)
> +void tap_set_vnet_hdr_len(NetClientState *nc, int len)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -252,7 +252,7 @@ void tap_set_vnet_hdr_len(VLANClientState *nc, int len)
>       s->host_vnet_hdr_len = len;
>   }
>
> -void tap_using_vnet_hdr(VLANClientState *nc, int using_vnet_hdr)
> +void tap_using_vnet_hdr(NetClientState *nc, int using_vnet_hdr)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -264,7 +264,7 @@ void tap_using_vnet_hdr(VLANClientState *nc, int using_vnet_hdr)
>       s->using_vnet_hdr = using_vnet_hdr;
>   }
>
> -void tap_set_offload(VLANClientState *nc, int csum, int tso4,
> +void tap_set_offload(NetClientState *nc, int csum, int tso4,
>                        int tso6, int ecn, int ufo)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
> @@ -275,7 +275,7 @@ void tap_set_offload(VLANClientState *nc, int csum, int tso4,
>       tap_fd_set_offload(s->fd, csum, tso4, tso6, ecn, ufo);
>   }
>
> -static void tap_cleanup(VLANClientState *nc)
> +static void tap_cleanup(NetClientState *nc)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>
> @@ -295,14 +295,14 @@ static void tap_cleanup(VLANClientState *nc)
>       s->fd = -1;
>   }
>
> -static void tap_poll(VLANClientState *nc, bool enable)
> +static void tap_poll(NetClientState *nc, bool enable)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>       tap_read_poll(s, enable);
>       tap_write_poll(s, enable);
>   }
>
> -int tap_get_fd(VLANClientState *nc)
> +int tap_get_fd(NetClientState *nc)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>       assert(nc->info->type == NET_CLIENT_TYPE_TAP);
> @@ -321,13 +321,13 @@ static NetClientInfo net_tap_info = {
>       .cleanup = tap_cleanup,
>   };
>
> -static TAPState *net_tap_fd_init(VLANClientState *peer,
> +static TAPState *net_tap_fd_init(NetClientState *peer,
>                                    const char *model,
>                                    const char *name,
>                                    int fd,
>                                    int vnet_hdr)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       TAPState *s;
>
>       nc = qemu_new_net_client(&net_tap_info, peer, model, name);
> @@ -582,7 +582,7 @@ static int net_tap_init(QemuOpts *opts, int *vnet_hdr)
>       return fd;
>   }
>
> -int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
> +int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       TAPState *s;
>       int fd, vnet_hdr = 0;
> @@ -707,7 +707,7 @@ int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
>       return 0;
>   }
>
> -VHostNetState *tap_get_vhost_net(VLANClientState *nc)
> +VHostNetState *tap_get_vhost_net(NetClientState *nc)
>   {
>       TAPState *s = DO_UPCAST(TAPState, nc, nc);
>       assert(nc->info->type == NET_CLIENT_TYPE_TAP);
> diff --git a/net/tap.h b/net/tap.h
> index fcc90dc..0934b19 100644
> --- a/net/tap.h
> +++ b/net/tap.h
> @@ -32,18 +32,18 @@
>   #define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
>   #define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
>
> -int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer);
> +int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer);
>
>   int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required);
>
>   ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen);
>
> -int tap_has_ufo(VLANClientState *vc);
> -int tap_has_vnet_hdr(VLANClientState *vc);
> -int tap_has_vnet_hdr_len(VLANClientState *vc, int len);
> -void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr);
> -void tap_set_offload(VLANClientState *vc, int csum, int tso4, int tso6, int ecn, int ufo);
> -void tap_set_vnet_hdr_len(VLANClientState *vc, int len);
> +int tap_has_ufo(NetClientState *vc);
> +int tap_has_vnet_hdr(NetClientState *vc);
> +int tap_has_vnet_hdr_len(NetClientState *vc, int len);
> +void tap_using_vnet_hdr(NetClientState *vc, int using_vnet_hdr);
> +void tap_set_offload(NetClientState *vc, int csum, int tso4, int tso6, int ecn, int ufo);
> +void tap_set_vnet_hdr_len(NetClientState *vc, int len);
>
>   int tap_set_sndbuf(int fd, QemuOpts *opts);
>   int tap_probe_vnet_hdr(int fd);
> @@ -52,10 +52,10 @@ int tap_probe_has_ufo(int fd);
>   void tap_fd_set_offload(int fd, int csum, int tso4, int tso6, int ecn, int ufo);
>   void tap_fd_set_vnet_hdr_len(int fd, int len);
>
> -int tap_get_fd(VLANClientState *vc);
> +int tap_get_fd(NetClientState *vc);
>
>   struct vhost_net;
> -struct vhost_net *tap_get_vhost_net(VLANClientState *vc);
> +struct vhost_net *tap_get_vhost_net(NetClientState *vc);
>
>   int net_init_bridge(QemuOpts *opts, const char *name, NetClientState *peer);
>
> diff --git a/net/vde.c b/net/vde.c
> index 8329be6..48fb010 100644
> --- a/net/vde.c
> +++ b/net/vde.c
> @@ -33,7 +33,7 @@
>   #include "qemu-option.h"
>
>   typedef struct VDEState {
> -    VLANClientState nc;
> +    NetClientState nc;
>       VDECONN *vde;
>   } VDEState;
>
> @@ -49,7 +49,7 @@ static void vde_to_qemu(void *opaque)
>       }
>   }
>
> -static ssize_t vde_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
> +static ssize_t vde_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>   {
>       VDEState *s = DO_UPCAST(VDEState, nc, nc);
>       ssize_t ret;
> @@ -61,7 +61,7 @@ static ssize_t vde_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
>       return ret;
>   }
>
> -static void vde_cleanup(VLANClientState *nc)
> +static void vde_cleanup(NetClientState *nc)
>   {
>       VDEState *s = DO_UPCAST(VDEState, nc, nc);
>       qemu_set_fd_handler(vde_datafd(s->vde), NULL, NULL, NULL);
> @@ -75,11 +75,11 @@ static NetClientInfo net_vde_info = {
>       .cleanup = vde_cleanup,
>   };
>
> -static int net_vde_init(VLANClientState *peer, const char *model,
> +static int net_vde_init(NetClientState *peer, const char *model,
>                           const char *name, const char *sock,
>                           int port, const char *group, int mode)
>   {
> -    VLANClientState *nc;
> +    NetClientState *nc;
>       VDEState *s;
>       VDECONN *vde;
>       char *init_group = (char *)group;
> @@ -110,7 +110,7 @@ static int net_vde_init(VLANClientState *peer, const char *model,
>       return 0;
>   }
>
> -int net_init_vde(QemuOpts *opts, const char *name, VLANClientState *peer)
> +int net_init_vde(QemuOpts *opts, const char *name, NetClientState *peer)
>   {
>       const char *sock;
>       const char *group;
> diff --git a/net/vde.h b/net/vde.h
> index 5e8ae58..4d504b9 100644
> --- a/net/vde.h
> +++ b/net/vde.h
> @@ -29,7 +29,7 @@
>
>   #ifdef CONFIG_VDE
>
> -int net_init_vde(QemuOpts *opts, const char *name, VLANClientState *peer);
> +int net_init_vde(QemuOpts *opts, const char *name, NetClientState *peer);
>
>   #endif /* CONFIG_VDE */
>
> diff --git a/qemu-common.h b/qemu-common.h
> index 3c7c2fa..e58f8c8 100644
> --- a/qemu-common.h
> +++ b/qemu-common.h
> @@ -235,7 +235,7 @@ typedef struct TextConsole TextConsole;
>   typedef TextConsole QEMUConsole;
>   typedef struct CharDriverState CharDriverState;
>   typedef struct MACAddr MACAddr;
> -typedef struct VLANClientState VLANClientState;
> +typedef struct NetClientState NetClientState;
>   typedef struct i2c_bus i2c_bus;
>   typedef struct ISABus ISABus;
>   typedef struct SMBusDevice SMBusDevice;
Zhiyong Wu - June 19, 2012, 10:14 p.m.
On Wed, Jun 20, 2012 at 2:36 AM, Anthony Liguori <aliguori@us.ibm.com> wrote:
> On 06/18/2012 11:59 AM, zwu.kernel@gmail.com wrote:
>>
>> From: Stefan Hajnoczi<stefanha@linux.vnet.ibm.com>
>>
>> The vlan feature is no longer part of net core.  Rename VLANClientState
>> to NetClientState because net clients are not explicitly associated with
>> a vlan at all, instead they have a peer net client to which they are
>> connected.
>>
>> This patch is a mechanical search-and-replace except for a few
>> whitespace fixups where changing VLANClientState to NetClientState
>> misaligned whitespace.
>>
>> Signed-off-by: Stefan Hajnoczi<stefanha@linux.vnet.ibm.com>
>> Signed-off-by: Zhi Yong Wu<wuzhy@linux.vnet.ibm.com>
>
>
>  CC    libhw64/hw/dp8393x.o
> /home/anthony/git/qemu/hw/dp8393x.c: In function ‘dp83932_init’:
> /home/anthony/git/qemu/hw/dp8393x.c:902:12: error: ‘NICConf’ has no member
> named ‘vlan’
> /home/anthony/git/qemu/hw/dp8393x.c:902:22: error: ‘NICInfo’ has no member
> named ‘vlan’
> make[1]: *** [hw/dp8393x.o] Error 1
> make: *** [subdir-libhw64] Error 2
>
> This isn't a merge conflict.  dp8393x.c hasn't been touched in ages.
>
> How was this series tested?  I don't see how you could have done a full
> build without seeing this error...
Sorry, i only buit x86_64 target before. I now have fixed these
issues; after doing some testings, i have pushed the patchset to my
git repo.
git@github.com:wuzhy/qemu.git for-anthony

Later this day, i will send out next revision. thanks.

>
> Regards,
>
> Anthony Liguori
>
>> ---
>>  hw/cadence_gem.c        |    8 ++--
>>  hw/dp8393x.c            |    6 ++--
>>  hw/e1000.c              |    8 ++--
>>  hw/eepro100.c           |    6 ++--
>>  hw/etraxfs_eth.c        |    8 ++--
>>  hw/lan9118.c            |    8 ++--
>>  hw/lance.c              |    2 +-
>>  hw/mcf_fec.c            |    6 ++--
>>  hw/milkymist-minimac2.c |    6 ++--
>>  hw/mipsnet.c            |    6 ++--
>>  hw/musicpal.c           |    6 ++--
>>  hw/ne2000-isa.c         |    2 +-
>>  hw/ne2000.c             |    6 ++--
>>  hw/ne2000.h             |    4 +-
>>  hw/opencores_eth.c      |    8 ++--
>>  hw/pcnet-pci.c          |    2 +-
>>  hw/pcnet.c              |    6 ++--
>>  hw/pcnet.h              |    6 ++--
>>  hw/qdev-properties.c    |    6 ++--
>>  hw/qdev.h               |    4 +-
>>  hw/rtl8139.c            |    8 ++--
>>  hw/smc91c111.c          |    6 ++--
>>  hw/spapr_llan.c         |    4 +-
>>  hw/stellaris_enet.c     |    6 ++--
>>  hw/usb/dev-network.c    |    6 ++--
>>  hw/vhost_net.c          |    8 ++--
>>  hw/vhost_net.h          |    2 +-
>>  hw/virtio-net.c         |   10 +++---
>>  hw/xen_nic.c            |    4 +-
>>  hw/xgmac.c              |    6 ++--
>>  hw/xilinx_axienet.c     |    6 ++--
>>  hw/xilinx_ethlite.c     |    6 ++--
>>  net.c                   |   85
>> +++++++++++++++++++++++------------------------
>>  net.h                   |   60 ++++++++++++++++----------------
>>  net/dump.c              |   12 +++---
>>  net/dump.h              |    2 +-
>>  net/hub.c               |   22 ++++++------
>>  net/hub.h               |    8 ++--
>>  net/queue.c             |   16 ++++----
>>  net/queue.h             |   12 +++---
>>  net/slirp.c             |   14 ++++----
>>  net/slirp.h             |    2 +-
>>  net/socket.c            |   28 ++++++++--------
>>  net/socket.h            |    2 +-
>>  net/tap-win32.c         |   22 ++++++------
>>  net/tap.c               |   36 ++++++++++----------
>>  net/tap.h               |   18 +++++-----
>>  net/vde.c               |   12 +++---
>>  net/vde.h               |    2 +-
>>  qemu-common.h           |    2 +-
>>  50 files changed, 270 insertions(+), 271 deletions(-)
>>
>> diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c
>> index e2140ae..60ee1fd 100644
>> --- a/hw/cadence_gem.c
>> +++ b/hw/cadence_gem.c
>> @@ -405,7 +405,7 @@ static void phy_update_link(GemState *s)
>>      }
>>  }
>>
>> -static int gem_can_receive(VLANClientState *nc)
>> +static int gem_can_receive(NetClientState *nc)
>>  {
>>      GemState *s;
>>
>> @@ -602,7 +602,7 @@ static int gem_mac_address_filter(GemState *s, const
>> uint8_t *packet)
>>   * gem_receive:
>>   * Fit a packet handed to us by QEMU into the receive descriptor ring.
>>   */
>> -static ssize_t gem_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      unsigned    desc[2];
>>      target_phys_addr_t packet_desc_addr, last_desc_addr;
>> @@ -1146,7 +1146,7 @@ static const MemoryRegionOps gem_ops = {
>>      .endianness = DEVICE_LITTLE_ENDIAN,
>>  };
>>
>> -static void gem_cleanup(VLANClientState *nc)
>> +static void gem_cleanup(NetClientState *nc)
>>  {
>>      GemState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -1154,7 +1154,7 @@ static void gem_cleanup(VLANClientState *nc)
>>      s->nic = NULL;
>>  }
>>
>> -static void gem_set_link(VLANClientState *nc)
>> +static void gem_set_link(NetClientState *nc)
>>  {
>>      DB_PRINT("\n");
>>      phy_update_link(DO_UPCAST(NICState, nc, nc)->opaque);
>> diff --git a/hw/dp8393x.c b/hw/dp8393x.c
>> index 017d074..86598b9 100644
>> --- a/hw/dp8393x.c
>> +++ b/hw/dp8393x.c
>> @@ -673,7 +673,7 @@ static const MemoryRegionOps dp8393x_ops = {
>>      .endianness = DEVICE_NATIVE_ENDIAN,
>>  };
>>
>> -static int nic_can_receive(VLANClientState *nc)
>> +static int nic_can_receive(NetClientState *nc)
>>  {
>>      dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -722,7 +722,7 @@ static int receive_filter(dp8393xState *s, const
>> uint8_t * buf, int size)
>>      return -1;
>>  }
>>
>> -static ssize_t nic_receive(VLANClientState *nc, const uint8_t * buf,
>> size_t size)
>> +static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf,
>> size_t size)
>>  {
>>      dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      uint16_t data[10];
>> @@ -858,7 +858,7 @@ static void nic_reset(void *opaque)
>>      dp8393x_update_irq(s);
>>  }
>>
>> -static void nic_cleanup(VLANClientState *nc)
>> +static void nic_cleanup(NetClientState *nc)
>>  {
>>      dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/e1000.c b/hw/e1000.c
>> index 4573f13..8c7fd3b 100644
>> --- a/hw/e1000.c
>> +++ b/hw/e1000.c
>> @@ -720,7 +720,7 @@ receive_filter(E1000State *s, const uint8_t *buf, int
>> size)
>>  }
>>
>>  static void
>> -e1000_set_link_status(VLANClientState *nc)
>> +e1000_set_link_status(NetClientState *nc)
>>  {
>>      E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      uint32_t old_status = s->mac_reg[STATUS];
>> @@ -754,7 +754,7 @@ static bool e1000_has_rxbufs(E1000State *s, size_t
>> total_size)
>>  }
>>
>>  static int
>> -e1000_can_receive(VLANClientState *nc)
>> +e1000_can_receive(NetClientState *nc)
>>  {
>>      E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -770,7 +770,7 @@ static uint64_t rx_desc_base(E1000State *s)
>>  }
>>
>>  static ssize_t
>> -e1000_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
>> +e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
>>  {
>>      E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      struct e1000_rx_desc desc;
>> @@ -1185,7 +1185,7 @@ e1000_mmio_setup(E1000State *d)
>>  }
>>
>>  static void
>> -e1000_cleanup(VLANClientState *nc)
>> +e1000_cleanup(NetClientState *nc)
>>  {
>>      E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/eepro100.c b/hw/eepro100.c
>> index 6279ae3..5725ccf 100644
>> --- a/hw/eepro100.c
>> +++ b/hw/eepro100.c
>> @@ -1609,7 +1609,7 @@ static const MemoryRegionOps eepro100_ops = {
>>      .endianness = DEVICE_LITTLE_ENDIAN,
>>  };
>>
>> -static int nic_can_receive(VLANClientState *nc)
>> +static int nic_can_receive(NetClientState *nc)
>>  {
>>      EEPRO100State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      TRACE(RXTX, logout("%p\n", s));
>> @@ -1619,7 +1619,7 @@ static int nic_can_receive(VLANClientState *nc)
>>  #endif
>>  }
>>
>> -static ssize_t nic_receive(VLANClientState *nc, const uint8_t * buf,
>> size_t size)
>> +static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf,
>> size_t size)
>>  {
>>      /* TODO:
>>       * - Magic packets should set bit 30 in power management driver
>> register.
>> @@ -1824,7 +1824,7 @@ static const VMStateDescription vmstate_eepro100 = {
>>      }
>>  };
>>
>> -static void nic_cleanup(VLANClientState *nc)
>> +static void nic_cleanup(NetClientState *nc)
>>  {
>>      EEPRO100State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c
>> index 16a0637..1ca5849 100644
>> --- a/hw/etraxfs_eth.c
>> +++ b/hw/etraxfs_eth.c
>> @@ -507,12 +507,12 @@ static int eth_match_groupaddr(struct fs_eth *eth,
>> const unsigned char *sa)
>>        return match;
>>  }
>>
>> -static int eth_can_receive(VLANClientState *nc)
>> +static int eth_can_receive(NetClientState *nc)
>>  {
>>        return 1;
>>  }
>>
>> -static ssize_t eth_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t eth_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>        unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
>>        struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
>> @@ -549,7 +549,7 @@ static int eth_tx_push(void *opaque, unsigned char
>> *buf, int len, bool eop)
>>        return len;
>>  }
>>
>> -static void eth_set_link(VLANClientState *nc)
>> +static void eth_set_link(NetClientState *nc)
>>  {
>>        struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
>>        D(printf("%s %d\n", __func__, nc->link_down));
>> @@ -566,7 +566,7 @@ static const MemoryRegionOps eth_ops = {
>>        }
>>  };
>>
>> -static void eth_cleanup(VLANClientState *nc)
>> +static void eth_cleanup(NetClientState *nc)
>>  {
>>        struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/lan9118.c b/hw/lan9118.c
>> index 7b4fe87..6a37895 100644
>> --- a/hw/lan9118.c
>> +++ b/hw/lan9118.c
>> @@ -384,7 +384,7 @@ static void phy_update_link(lan9118_state *s)
>>      phy_update_irq(s);
>>  }
>>
>> -static void lan9118_set_link(VLANClientState *nc)
>> +static void lan9118_set_link(NetClientState *nc)
>>  {
>>      phy_update_link(DO_UPCAST(NICState, nc, nc)->opaque);
>>  }
>> @@ -456,7 +456,7 @@ static void lan9118_reset(DeviceState *d)
>>      lan9118_reload_eeprom(s);
>>  }
>>
>> -static int lan9118_can_receive(VLANClientState *nc)
>> +static int lan9118_can_receive(NetClientState *nc)
>>  {
>>      return 1;
>>  }
>> @@ -509,7 +509,7 @@ static int lan9118_filter(lan9118_state *s, const
>> uint8_t *addr)
>>      }
>>  }
>>
>> -static ssize_t lan9118_receive(VLANClientState *nc, const uint8_t *buf,
>> +static ssize_t lan9118_receive(NetClientState *nc, const uint8_t *buf,
>>                                 size_t size)
>>  {
>>      lan9118_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>> @@ -1302,7 +1302,7 @@ static const MemoryRegionOps lan9118_16bit_mem_ops =
>> {
>>      .endianness = DEVICE_NATIVE_ENDIAN,
>>  };
>>
>> -static void lan9118_cleanup(VLANClientState *nc)
>> +static void lan9118_cleanup(NetClientState *nc)
>>  {
>>      lan9118_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/lance.c b/hw/lance.c
>> index ce3d46c..1aedb19 100644
>> --- a/hw/lance.c
>> +++ b/hw/lance.c
>> @@ -85,7 +85,7 @@ static const MemoryRegionOps lance_mem_ops = {
>>      },
>>  };
>>
>> -static void lance_cleanup(VLANClientState *nc)
>> +static void lance_cleanup(NetClientState *nc)
>>  {
>>      PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c
>> index ae37bef..3d87c78 100644
>> --- a/hw/mcf_fec.c
>> +++ b/hw/mcf_fec.c
>> @@ -351,13 +351,13 @@ static void mcf_fec_write(void *opaque,
>> target_phys_addr_t addr,
>>      mcf_fec_update(s);
>>  }
>>
>> -static int mcf_fec_can_receive(VLANClientState *nc)
>> +static int mcf_fec_can_receive(NetClientState *nc)
>>  {
>>      mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      return s->rx_enabled;
>>  }
>>
>> -static ssize_t mcf_fec_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      mcf_fec_bd bd;
>> @@ -439,7 +439,7 @@ static const MemoryRegionOps mcf_fec_ops = {
>>      .endianness = DEVICE_NATIVE_ENDIAN,
>>  };
>>
>> -static void mcf_fec_cleanup(VLANClientState *nc)
>> +static void mcf_fec_cleanup(NetClientState *nc)
>>  {
>>      mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/milkymist-minimac2.c b/hw/milkymist-minimac2.c
>> index 70bf336..0369894 100644
>> --- a/hw/milkymist-minimac2.c
>> +++ b/hw/milkymist-minimac2.c
>> @@ -278,7 +278,7 @@ static void update_rx_interrupt(MilkymistMinimac2State
>> *s)
>>      }
>>  }
>>
>> -static ssize_t minimac2_rx(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t minimac2_rx(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -408,7 +408,7 @@ static const MemoryRegionOps minimac2_ops = {
>>      .endianness = DEVICE_NATIVE_ENDIAN,
>>  };
>>
>> -static int minimac2_can_rx(VLANClientState *nc)
>> +static int minimac2_can_rx(NetClientState *nc)
>>  {
>>      MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -422,7 +422,7 @@ static int minimac2_can_rx(VLANClientState *nc)
>>      return 0;
>>  }
>>
>> -static void minimac2_cleanup(VLANClientState *nc)
>> +static void minimac2_cleanup(NetClientState *nc)
>>  {
>>      MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/mipsnet.c b/hw/mipsnet.c
>> index 3107246..9cde90a 100644
>> --- a/hw/mipsnet.c
>> +++ b/hw/mipsnet.c
>> @@ -62,7 +62,7 @@ static int mipsnet_buffer_full(MIPSnetState *s)
>>      return 0;
>>  }
>>
>> -static int mipsnet_can_receive(VLANClientState *nc)
>> +static int mipsnet_can_receive(NetClientState *nc)
>>  {
>>      MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -71,7 +71,7 @@ static int mipsnet_can_receive(VLANClientState *nc)
>>      return !mipsnet_buffer_full(s);
>>  }
>>
>> -static ssize_t mipsnet_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t mipsnet_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -209,7 +209,7 @@ static const VMStateDescription vmstate_mipsnet = {
>>      }
>>  };
>>
>> -static void mipsnet_cleanup(VLANClientState *nc)
>> +static void mipsnet_cleanup(NetClientState *nc)
>>  {
>>      MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/musicpal.c b/hw/musicpal.c
>> index f14f20d..10d4f38 100644
>> --- a/hw/musicpal.c
>> +++ b/hw/musicpal.c
>> @@ -182,12 +182,12 @@ static void eth_rx_desc_get(uint32_t addr,
>> mv88w8618_rx_desc *desc)
>>      le32_to_cpus(&desc->next);
>>  }
>>
>> -static int eth_can_receive(VLANClientState *nc)
>> +static int eth_can_receive(NetClientState *nc)
>>  {
>>      return 1;
>>  }
>>
>> -static ssize_t eth_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t eth_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      mv88w8618_eth_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      uint32_t desc_addr;
>> @@ -366,7 +366,7 @@ static const MemoryRegionOps mv88w8618_eth_ops = {
>>      .endianness = DEVICE_NATIVE_ENDIAN,
>>  };
>>
>> -static void eth_cleanup(VLANClientState *nc)
>> +static void eth_cleanup(NetClientState *nc)
>>  {
>>      mv88w8618_eth_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
>> index a4a783a..ff4b885 100644
>> --- a/hw/ne2000-isa.c
>> +++ b/hw/ne2000-isa.c
>> @@ -36,7 +36,7 @@ typedef struct ISANE2000State {
>>      NE2000State ne2000;
>>  } ISANE2000State;
>>
>> -static void isa_ne2000_cleanup(VLANClientState *nc)
>> +static void isa_ne2000_cleanup(NetClientState *nc)
>>  {
>>      NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/ne2000.c b/hw/ne2000.c
>> index d02e60c..2339725 100644
>> --- a/hw/ne2000.c
>> +++ b/hw/ne2000.c
>> @@ -165,7 +165,7 @@ static int ne2000_buffer_full(NE2000State *s)
>>      return 0;
>>  }
>>
>> -int ne2000_can_receive(VLANClientState *nc)
>> +int ne2000_can_receive(NetClientState *nc)
>>  {
>>      NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -176,7 +176,7 @@ int ne2000_can_receive(VLANClientState *nc)
>>
>>  #define MIN_BUF_SIZE 60
>>
>> -ssize_t ne2000_receive(VLANClientState *nc, const uint8_t *buf, size_t
>> size_)
>> +ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size_)
>>  {
>>      NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      int size = size_;
>> @@ -703,7 +703,7 @@ void ne2000_setup_io(NE2000State *s, unsigned size)
>>      memory_region_init_io(&s->io,&ne2000_ops, s, "ne2000", size);
>>  }
>>
>> -static void ne2000_cleanup(VLANClientState *nc)
>> +static void ne2000_cleanup(NetClientState *nc)
>>  {
>>      NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/ne2000.h b/hw/ne2000.h
>> index 5fee052..6c196a2 100644
>> --- a/hw/ne2000.h
>> +++ b/hw/ne2000.h
>> @@ -31,5 +31,5 @@ typedef struct NE2000State {
>>  void ne2000_setup_io(NE2000State *s, unsigned size);
>>  extern const VMStateDescription vmstate_ne2000;
>>  void ne2000_reset(NE2000State *s);
>> -int ne2000_can_receive(VLANClientState *vc);
>> -ssize_t ne2000_receive(VLANClientState *vc, const uint8_t *buf, size_t
>> size_);
>> +int ne2000_can_receive(NetClientState *vc);
>> +ssize_t ne2000_receive(NetClientState *vc, const uint8_t *buf, size_t
>> size_);
>> diff --git a/hw/opencores_eth.c b/hw/opencores_eth.c
>> index 350f731..990ec37 100644
>> --- a/hw/opencores_eth.c
>> +++ b/hw/opencores_eth.c
>> @@ -311,7 +311,7 @@ static void open_eth_int_source_write(OpenEthState *s,
>>              s->regs[INT_SOURCE]&  s->regs[INT_MASK]);
>>  }
>>
>> -static void open_eth_set_link_status(VLANClientState *nc)
>> +static void open_eth_set_link_status(NetClientState *nc)
>>  {
>>      OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -342,7 +342,7 @@ static void open_eth_reset(void *opaque)
>>      open_eth_set_link_status(&s->nic->nc);
>>  }
>>
>> -static int open_eth_can_receive(VLANClientState *nc)
>> +static int open_eth_can_receive(NetClientState *nc)
>>  {
>>      OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -351,7 +351,7 @@ static int open_eth_can_receive(VLANClientState *nc)
>>          (rx_desc(s)->len_flags&  RXD_E);
>>  }
>>
>> -static ssize_t open_eth_receive(VLANClientState *nc,
>> +static ssize_t open_eth_receive(NetClientState *nc,
>>          const uint8_t *buf, size_t size)
>>  {
>>      OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>> @@ -462,7 +462,7 @@ static ssize_t open_eth_receive(VLANClientState *nc,
>>      return size;
>>  }
>>
>> -static void open_eth_cleanup(VLANClientState *nc)
>> +static void open_eth_cleanup(NetClientState *nc)
>>  {
>>  }
>>
>> diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
>> index 34d73aa..8c82667 100644
>> --- a/hw/pcnet-pci.c
>> +++ b/hw/pcnet-pci.c
>> @@ -264,7 +264,7 @@ static void pci_physical_memory_read(void *dma_opaque,
>> target_phys_addr_t addr,
>>      pci_dma_read(dma_opaque, addr, buf, len);
>>  }
>>
>> -static void pci_pcnet_cleanup(VLANClientState *nc)
>> +static void pci_pcnet_cleanup(NetClientState *nc)
>>  {
>>      PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/pcnet.c b/hw/pcnet.c
>> index d769b08..40820b3 100644
>> --- a/hw/pcnet.c
>> +++ b/hw/pcnet.c
>> @@ -1004,7 +1004,7 @@ static int pcnet_tdte_poll(PCNetState *s)
>>      return !!(CSR_CXST(s)&  0x8000);
>>  }
>>
>> -int pcnet_can_receive(VLANClientState *nc)
>> +int pcnet_can_receive(NetClientState *nc)
>>  {
>>      PCNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      if (CSR_STOP(s) || CSR_SPND(s))
>> @@ -1015,7 +1015,7 @@ int pcnet_can_receive(VLANClientState *nc)
>>
>>  #define MIN_BUF_SIZE 60
>>
>> -ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t
>> size_)
>> +ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size_)
>>  {
>>      PCNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      int is_padr = 0, is_bcast = 0, is_ladr = 0;
>> @@ -1197,7 +1197,7 @@ ssize_t pcnet_receive(VLANClientState *nc, const
>> uint8_t *buf, size_t size_)
>>      return size_;
>>  }
>>
>> -void pcnet_set_link_status(VLANClientState *nc)
>> +void pcnet_set_link_status(NetClientState *nc)
>>  {
>>      PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/pcnet.h b/hw/pcnet.h
>> index 803a2cc..d0af54a 100644
>> --- a/hw/pcnet.h
>> +++ b/hw/pcnet.h
>> @@ -57,9 +57,9 @@ uint32_t pcnet_ioport_readw(void *opaque, uint32_t
>> addr);
>>  void pcnet_ioport_writel(void *opaque, uint32_t addr, uint32_t val);
>>  uint32_t pcnet_ioport_readl(void *opaque, uint32_t addr);
>>  uint32_t pcnet_bcr_readw(PCNetState *s, uint32_t rap);
>> -int pcnet_can_receive(VLANClientState *nc);
>> -ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t
>> size_);
>> -void pcnet_set_link_status(VLANClientState *nc);
>> +int pcnet_can_receive(NetClientState *nc);
>> +ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size_);
>> +void pcnet_set_link_status(NetClientState *nc);
>>  void pcnet_common_cleanup(PCNetState *d);
>>  int pcnet_common_init(DeviceState *dev, PCNetState *s, NetClientInfo
>> *info);
>>  extern const VMStateDescription vmstate_pcnet;
>> diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
>> index 6624dd5..6fd3163 100644
>> --- a/hw/qdev-properties.c
>> +++ b/hw/qdev-properties.c
>> @@ -554,7 +554,7 @@ PropertyInfo qdev_prop_chr = {
>>
>>  static int parse_netdev(DeviceState *dev, const char *str, void **ptr)
>>  {
>> -    VLANClientState *netdev = qemu_find_netdev(str);
>> +    NetClientState *netdev = qemu_find_netdev(str);
>>
>>      if (netdev == NULL) {
>>          return -ENOENT;
>> @@ -568,7 +568,7 @@ static int parse_netdev(DeviceState *dev, const char
>> *str, void **ptr)
>>
>>  static const char *print_netdev(void *ptr)
>>  {
>> -    VLANClientState *netdev = ptr;
>> +    NetClientState *netdev = ptr;
>>
>>      return netdev->name ? netdev->name : "";
>>  }
>> @@ -991,7 +991,7 @@ void qdev_prop_set_chr(DeviceState *dev, const char
>> *name, CharDriverState *valu
>>      assert_no_error(errp);
>>  }
>>
>> -void qdev_prop_set_netdev(DeviceState *dev, const char *name,
>> VLANClientState *value)
>> +void qdev_prop_set_netdev(DeviceState *dev, const char *name,
>> NetClientState *value)
>>  {
>>      Error *errp = NULL;
>>      assert(!value || value->name);
>> diff --git a/hw/qdev.h b/hw/qdev.h
>> index 0510eb7..33d4f6e 100644
>> --- a/hw/qdev.h
>> +++ b/hw/qdev.h
>> @@ -273,7 +273,7 @@ extern PropertyInfo qdev_prop_blocksize;
>>  #define DEFINE_PROP_STRING(_n, _s, _f)             \
>>      DEFINE_PROP(_n, _s, _f, qdev_prop_string, char*)
>>  #define DEFINE_PROP_NETDEV(_n, _s, _f)             \
>> -    DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, VLANClientState*)
>> +    DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NetClientState*)
>>  #define DEFINE_PROP_DRIVE(_n, _s, _f) \
>>      DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *)
>>  #define DEFINE_PROP_MACADDR(_n, _s, _f)         \
>> @@ -299,7 +299,7 @@ void qdev_prop_set_int32(DeviceState *dev, const char
>> *name, int32_t value);
>>  void qdev_prop_set_uint64(DeviceState *dev, const char *name, uint64_t
>> value);
>>  void qdev_prop_set_string(DeviceState *dev, const char *name, char
>> *value);
>>  void qdev_prop_set_chr(DeviceState *dev, const char *name,
>> CharDriverState *value);
>> -void qdev_prop_set_netdev(DeviceState *dev, const char *name,
>> VLANClientState *value);
>> +void qdev_prop_set_netdev(DeviceState *dev, const char *name,
>> NetClientState *value);
>>  int qdev_prop_set_drive(DeviceState *dev, const char *name,
>> BlockDriverState *value) QEMU_WARN_UNUSED_RESULT;
>>  void qdev_prop_set_drive_nofail(DeviceState *dev, const char *name,
>> BlockDriverState *value);
>>  void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t
>> *value);
>> diff --git a/hw/rtl8139.c b/hw/rtl8139.c
>> index eb22d04..1e4f4eb 100644
>> --- a/hw/rtl8139.c
>> +++ b/hw/rtl8139.c
>> @@ -781,7 +781,7 @@ static inline dma_addr_t rtl8139_addr64(uint32_t low,
>> uint32_t high)
>>  #endif
>>  }
>>
>> -static int rtl8139_can_receive(VLANClientState *nc)
>> +static int rtl8139_can_receive(NetClientState *nc)
>>  {
>>      RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      int avail;
>> @@ -806,7 +806,7 @@ static int rtl8139_can_receive(VLANClientState *nc)
>>      }
>>  }
>>
>> -static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t
>> *buf, size_t size_, int do_interrupt)
>> +static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size_, int do_interrupt)
>>  {
>>      RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      /* size is the length of the buffer passed to the driver */
>> @@ -1185,7 +1185,7 @@ static ssize_t rtl8139_do_receive(VLANClientState
>> *nc, const uint8_t *buf, size_
>>      return size_;
>>  }
>>
>> -static ssize_t rtl8139_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t rtl8139_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      return rtl8139_do_receive(nc, buf, size, 1);
>>  }
>> @@ -3429,7 +3429,7 @@ static void rtl8139_timer(void *opaque)
>>      rtl8139_set_next_tctr_time(s, qemu_get_clock_ns(vm_clock));
>>  }
>>
>> -static void rtl8139_cleanup(VLANClientState *nc)
>> +static void rtl8139_cleanup(NetClientState *nc)
>>  {
>>      RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/smc91c111.c b/hw/smc91c111.c
>> index 1a5213f..aaa2c60 100644
>> --- a/hw/smc91c111.c
>> +++ b/hw/smc91c111.c
>> @@ -628,7 +628,7 @@ static uint32_t smc91c111_readl(void *opaque,
>> target_phys_addr_t offset)
>>      return val;
>>  }
>>
>> -static int smc91c111_can_receive(VLANClientState *nc)
>> +static int smc91c111_can_receive(NetClientState *nc)
>>  {
>>      smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -639,7 +639,7 @@ static int smc91c111_can_receive(VLANClientState *nc)
>>      return 1;
>>  }
>>
>> -static ssize_t smc91c111_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t smc91c111_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      int status;
>> @@ -728,7 +728,7 @@ static const MemoryRegionOps smc91c111_mem_ops = {
>>      .endianness = DEVICE_NATIVE_ENDIAN,
>>  };
>>
>> -static void smc91c111_cleanup(VLANClientState *nc)
>> +static void smc91c111_cleanup(NetClientState *nc)
>>  {
>>      smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/spapr_llan.c b/hw/spapr_llan.c
>> index 8313043..76fa0b5 100644
>> --- a/hw/spapr_llan.c
>> +++ b/hw/spapr_llan.c
>> @@ -83,14 +83,14 @@ typedef struct VIOsPAPRVLANDevice {
>>      target_ulong rxq_ptr;
>>  } VIOsPAPRVLANDevice;
>>
>> -static int spapr_vlan_can_receive(VLANClientState *nc)
>> +static int spapr_vlan_can_receive(NetClientState *nc)
>>  {
>>      VIOsPAPRVLANDevice *dev = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>>      return (dev->isopen&&  dev->rx_bufs>  0);
>>  }
>>
>> -static ssize_t spapr_vlan_receive(VLANClientState *nc, const uint8_t
>> *buf,
>> +static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
>>                                    size_t size)
>>  {
>>      VIOsPAPRDevice *sdev = DO_UPCAST(NICState, nc, nc)->opaque;
>> diff --git a/hw/stellaris_enet.c b/hw/stellaris_enet.c
>> index fbe99cb..fcc6cd0 100644
>> --- a/hw/stellaris_enet.c
>> +++ b/hw/stellaris_enet.c
>> @@ -78,7 +78,7 @@ static void stellaris_enet_update(stellaris_enet_state
>> *s)
>>  }
>>
>>  /* TODO: Implement MAC address filtering.  */
>> -static ssize_t stellaris_enet_receive(VLANClientState *nc, const uint8_t
>> *buf, size_t size)
>> +static ssize_t stellaris_enet_receive(NetClientState *nc, const uint8_t
>> *buf, size_t size)
>>  {
>>      stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      int n;
>> @@ -120,7 +120,7 @@ static ssize_t stellaris_enet_receive(VLANClientState
>> *nc, const uint8_t *buf, s
>>      return size;
>>  }
>>
>> -static int stellaris_enet_can_receive(VLANClientState *nc)
>> +static int stellaris_enet_can_receive(NetClientState *nc)
>>  {
>>      stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -381,7 +381,7 @@ static int stellaris_enet_load(QEMUFile *f, void
>> *opaque, int version_id)
>>      return 0;
>>  }
>>
>> -static void stellaris_enet_cleanup(VLANClientState *nc)
>> +static void stellaris_enet_cleanup(NetClientState *nc)
>>  {
>>      stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
>> index 5d2f098..a1d3495 100644
>> --- a/hw/usb/dev-network.c
>> +++ b/hw/usb/dev-network.c
>> @@ -1247,7 +1247,7 @@ static int usb_net_handle_data(USBDevice *dev,
>> USBPacket *p)
>>      return ret;
>>  }
>>
>> -static ssize_t usbnet_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t usbnet_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      struct rndis_packet_msg_type *msg;
>> @@ -1285,7 +1285,7 @@ static ssize_t usbnet_receive(VLANClientState *nc,
>> const uint8_t *buf, size_t si
>>      return size;
>>  }
>>
>> -static int usbnet_can_receive(VLANClientState *nc)
>> +static int usbnet_can_receive(NetClientState *nc)
>>  {
>>      USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -1296,7 +1296,7 @@ static int usbnet_can_receive(VLANClientState *nc)
>>      return !s->in_len;
>>  }
>>
>> -static void usbnet_cleanup(VLANClientState *nc)
>> +static void usbnet_cleanup(NetClientState *nc)
>>  {
>>      USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/vhost_net.c b/hw/vhost_net.c
>> index f672e9d..c3e6546 100644
>> --- a/hw/vhost_net.c
>> +++ b/hw/vhost_net.c
>> @@ -42,7 +42,7 @@ struct vhost_net {
>>      struct vhost_dev dev;
>>      struct vhost_virtqueue vqs[2];
>>      int backend;
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>  };
>>
>>  unsigned vhost_net_get_features(struct vhost_net *net, unsigned features)
>> @@ -80,7 +80,7 @@ void vhost_net_ack_features(struct vhost_net *net,
>> unsigned features)
>>      }
>>  }
>>
>> -static int vhost_net_get_fd(VLANClientState *backend)
>> +static int vhost_net_get_fd(NetClientState *backend)
>>  {
>>      switch (backend->info->type) {
>>      case NET_CLIENT_TYPE_TAP:
>> @@ -91,7 +91,7 @@ static int vhost_net_get_fd(VLANClientState *backend)
>>      }
>>  }
>>
>> -struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd,
>> +struct vhost_net *vhost_net_init(NetClientState *backend, int devfd,
>>                                   bool force)
>>  {
>>      int r;
>> @@ -214,7 +214,7 @@ void vhost_net_cleanup(struct vhost_net *net)
>>      g_free(net);
>>  }
>>  #else
>> -struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd,
>> +struct vhost_net *vhost_net_init(NetClientState *backend, int devfd,
>>                                   bool force)
>>  {
>>      error_report("vhost-net support is not compiled in");
>> diff --git a/hw/vhost_net.h b/hw/vhost_net.h
>> index 91e40b1..a9db234 100644
>> --- a/hw/vhost_net.h
>> +++ b/hw/vhost_net.h
>> @@ -6,7 +6,7 @@
>>  struct vhost_net;
>>  typedef struct vhost_net VHostNetState;
>>
>> -VHostNetState *vhost_net_init(VLANClientState *backend, int devfd, bool
>> force);
>> +VHostNetState *vhost_net_init(NetClientState *backend, int devfd, bool
>> force);
>>
>>  bool vhost_net_query(VHostNetState *net, VirtIODevice *dev);
>>  int vhost_net_start(VHostNetState *net, VirtIODevice *dev);
>> diff --git a/hw/virtio-net.c b/hw/virtio-net.c
>> index 3f190d4..a73c523 100644
>> --- a/hw/virtio-net.c
>> +++ b/hw/virtio-net.c
>> @@ -163,7 +163,7 @@ static void virtio_net_set_status(struct VirtIODevice
>> *vdev, uint8_t status)
>>      }
>>  }
>>
>> -static void virtio_net_set_link_status(VLANClientState *nc)
>> +static void virtio_net_set_link_status(NetClientState *nc)
>>  {
>>      VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>>      uint16_t old_status = n->status;
>> @@ -453,7 +453,7 @@ static void virtio_net_handle_rx(VirtIODevice *vdev,
>> VirtQueue *vq)
>>      qemu_notify_event();
>>  }
>>
>> -static int virtio_net_can_receive(VLANClientState *nc)
>> +static int virtio_net_can_receive(NetClientState *nc)
>>  {
>>      VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>>      if (!n->vdev.vm_running) {
>> @@ -593,7 +593,7 @@ static int receive_filter(VirtIONet *n, const uint8_t
>> *buf, int size)
>>      return 0;
>>  }
>>
>> -static ssize_t virtio_net_receive(VLANClientState *nc, const uint8_t
>> *buf, size_t size)
>> +static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>>      struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL;
>> @@ -690,7 +690,7 @@ static ssize_t virtio_net_receive(VLANClientState *nc,
>> const uint8_t *buf, size_
>>
>>  static int32_t virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq);
>>
>> -static void virtio_net_tx_complete(VLANClientState *nc, ssize_t len)
>> +static void virtio_net_tx_complete(NetClientState *nc, ssize_t len)
>>  {
>>      VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -980,7 +980,7 @@ static int virtio_net_load(QEMUFile *f, void *opaque,
>> int version_id)
>>      return 0;
>>  }
>>
>> -static void virtio_net_cleanup(VLANClientState *nc)
>> +static void virtio_net_cleanup(NetClientState *nc)
>>  {
>>      VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/hw/xen_nic.c b/hw/xen_nic.c
>> index 85526fe..6391a04 100644
>> --- a/hw/xen_nic.c
>> +++ b/hw/xen_nic.c
>> @@ -236,7 +236,7 @@ static void net_rx_response(struct XenNetDev *netdev,
>>
>>  #define NET_IP_ALIGN 2
>>
>> -static int net_rx_ok(VLANClientState *nc)
>> +static int net_rx_ok(NetClientState *nc)
>>  {
>>      struct XenNetDev *netdev = DO_UPCAST(NICState, nc, nc)->opaque;
>>      RING_IDX rc, rp;
>> @@ -257,7 +257,7 @@ static int net_rx_ok(VLANClientState *nc)
>>      return 1;
>>  }
>>
>> -static ssize_t net_rx_packet(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      struct XenNetDev *netdev = DO_UPCAST(NICState, nc, nc)->opaque;
>>      netif_rx_request_t rxreq;
>> diff --git a/hw/xgmac.c b/hw/xgmac.c
>> index dd4bdc4..b2cae49 100644
>> --- a/hw/xgmac.c
>> +++ b/hw/xgmac.c
>> @@ -308,7 +308,7 @@ static const MemoryRegionOps enet_mem_ops = {
>>      .endianness = DEVICE_LITTLE_ENDIAN,
>>  };
>>
>> -static int eth_can_rx(VLANClientState *nc)
>> +static int eth_can_rx(NetClientState *nc)
>>  {
>>      struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -316,7 +316,7 @@ static int eth_can_rx(VLANClientState *nc)
>>      return s->regs[DMA_CONTROL]&  DMA_CONTROL_SR;
>>  }
>>
>> -static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t
>> size)
>> +static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      static const unsigned char sa_bcast[6] = {0xff, 0xff, 0xff,
>> @@ -364,7 +364,7 @@ out:
>>      return ret;
>>  }
>>
>> -static void eth_cleanup(VLANClientState *nc)
>> +static void eth_cleanup(NetClientState *nc)
>>  {
>>      struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      s->nic = NULL;
>> diff --git a/hw/xilinx_axienet.c b/hw/xilinx_axienet.c
>> index 2e8d8a5..984071a 100644
>> --- a/hw/xilinx_axienet.c
>> +++ b/hw/xilinx_axienet.c
>> @@ -612,7 +612,7 @@ static const MemoryRegionOps enet_ops = {
>>      .endianness = DEVICE_LITTLE_ENDIAN,
>>  };
>>
>> -static int eth_can_rx(VLANClientState *nc)
>> +static int eth_can_rx(NetClientState *nc)
>>  {
>>      struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> @@ -635,7 +635,7 @@ static int enet_match_addr(const uint8_t *buf,
>> uint32_t f0, uint32_t f1)
>>      return match;
>>  }
>>
>> -static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t
>> size)
>> +static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      static const unsigned char sa_bcast[6] = {0xff, 0xff, 0xff,
>> @@ -780,7 +780,7 @@ static ssize_t eth_rx(VLANClientState *nc, const
>> uint8_t *buf, size_t size)
>>      return size;
>>  }
>>
>> -static void eth_cleanup(VLANClientState *nc)
>> +static void eth_cleanup(NetClientState *nc)
>>  {
>>      /* FIXME.  */
>>      struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
>> diff --git a/hw/xilinx_ethlite.c b/hw/xilinx_ethlite.c
>> index affbb8b..f261d89 100644
>> --- a/hw/xilinx_ethlite.c
>> +++ b/hw/xilinx_ethlite.c
>> @@ -160,7 +160,7 @@ static const MemoryRegionOps eth_ops = {
>>      }
>>  };
>>
>> -static int eth_can_rx(VLANClientState *nc)
>> +static int eth_can_rx(NetClientState *nc)
>>  {
>>      struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      int r;
>> @@ -168,7 +168,7 @@ static int eth_can_rx(VLANClientState *nc)
>>      return r;
>>  }
>>
>> -static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t
>> size)
>> +static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>      unsigned int rxbase = s->rxbuf * (0x800 / 4);
>> @@ -194,7 +194,7 @@ static ssize_t eth_rx(VLANClientState *nc, const
>> uint8_t *buf, size_t size)
>>      return size;
>>  }
>>
>> -static void eth_cleanup(VLANClientState *nc)
>> +static void eth_cleanup(NetClientState *nc)
>>  {
>>      struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
>>
>> diff --git a/net.c b/net.c
>> index d3a685e..b35339a 100644
>> --- a/net.c
>> +++ b/net.c
>> @@ -44,7 +44,7 @@
>>  # define CONFIG_NET_BRIDGE
>>  #endif
>>
>> -static QTAILQ_HEAD(, VLANClientState) net_clients;
>> +static QTAILQ_HEAD(, NetClientState) net_clients;
>>
>>  int default_net = 1;
>>
>> @@ -129,7 +129,7 @@ int parse_host_port(struct sockaddr_in *saddr, const
>> char *str)
>>      return 0;
>>  }
>>
>> -void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6])
>> +void qemu_format_nic_info_str(NetClientState *vc, uint8_t macaddr[6])
>>  {
>>      snprintf(vc->info_str, sizeof(vc->info_str),
>>               "model=%s,macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
>> @@ -159,9 +159,9 @@ void qemu_macaddr_default_if_unset(MACAddr *macaddr)
>>   * Only net clients created with the legacy -net option need this.
>>  Naming is
>>   * mandatory for net clients created with -netdev.
>>   */
>> -static char *assign_name(VLANClientState *vc1, const char *model)
>> +static char *assign_name(NetClientState *vc1, const char *model)
>>  {
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>      char buf[256];
>>      int id = 0;
>>
>> @@ -181,25 +181,25 @@ static char *assign_name(VLANClientState *vc1, const
>> char *model)
>>      return g_strdup(buf);
>>  }
>>
>> -static ssize_t qemu_deliver_packet(VLANClientState *sender,
>> +static ssize_t qemu_deliver_packet(NetClientState *sender,
>>                                     unsigned flags,
>>                                     const uint8_t *data,
>>                                     size_t size,
>>                                     void *opaque);
>> -static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
>> +static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
>>                                         unsigned flags,
>>                                         const struct iovec *iov,
>>                                         int iovcnt,
>>                                         void *opaque);
>>
>> -VLANClientState *qemu_new_net_client(NetClientInfo *info,
>> -                                     VLANClientState *peer,
>> -                                     const char *model,
>> -                                     const char *name)
>> +NetClientState *qemu_new_net_client(NetClientInfo *info,
>> +                                    NetClientState *peer,
>> +                                    const char *model,
>> +                                    const char *name)
>>  {
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>
>> -    assert(info->size>= sizeof(VLANClientState));
>> +    assert(info->size>= sizeof(NetClientState));
>>
>>      vc = g_malloc0(info->size);
>>
>> @@ -231,7 +231,7 @@ NICState *qemu_new_nic(NetClientInfo *info,
>>                         const char *name,
>>                         void *opaque)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      NICState *nic;
>>
>>      assert(info->type == NET_CLIENT_TYPE_NIC);
>> @@ -246,7 +246,7 @@ NICState *qemu_new_nic(NetClientInfo *info,
>>      return nic;
>>  }
>>
>> -static void qemu_cleanup_vlan_client(VLANClientState *vc)
>> +static void qemu_cleanup_vlan_client(NetClientState *vc)
>>  {
>>      QTAILQ_REMOVE(&net_clients, vc, next);
>>
>> @@ -255,7 +255,7 @@ static void qemu_cleanup_vlan_client(VLANClientState
>> *vc)
>>      }
>>  }
>>
>> -static void qemu_free_vlan_client(VLANClientState *vc)
>> +static void qemu_free_vlan_client(NetClientState *vc)
>>  {
>>      if (vc->send_queue) {
>>          qemu_del_net_queue(vc->send_queue);
>> @@ -268,7 +268,7 @@ static void qemu_free_vlan_client(VLANClientState *vc)
>>      g_free(vc);
>>  }
>>
>> -void qemu_del_vlan_client(VLANClientState *vc)
>> +void qemu_del_vlan_client(NetClientState *vc)
>>  {
>>      /* If there is a peer NIC, delete and cleanup client, but do not
>> free. */
>>      if (vc->peer&&  vc->peer->info->type == NET_CLIENT_TYPE_NIC) {
>> @@ -300,7 +300,7 @@ void qemu_del_vlan_client(VLANClientState *vc)
>>
>>  void qemu_foreach_nic(qemu_nic_foreach func, void *opaque)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>
>>      QTAILQ_FOREACH(nc,&net_clients, next) {
>>          if (nc->info->type == NET_CLIENT_TYPE_NIC) {
>> @@ -309,7 +309,7 @@ void qemu_foreach_nic(qemu_nic_foreach func, void
>> *opaque)
>>      }
>>  }
>>
>> -int qemu_can_send_packet(VLANClientState *sender)
>> +int qemu_can_send_packet(NetClientState *sender)
>>  {
>>      if (!sender->peer) {
>>          return 1;
>> @@ -324,13 +324,13 @@ int qemu_can_send_packet(VLANClientState *sender)
>>      return 1;
>>  }
>>
>> -static ssize_t qemu_deliver_packet(VLANClientState *sender,
>> +static ssize_t qemu_deliver_packet(NetClientState *sender,
>>                                     unsigned flags,
>>                                     const uint8_t *data,
>>                                     size_t size,
>>                                     void *opaque)
>>  {
>> -    VLANClientState *vc = opaque;
>> +    NetClientState *vc = opaque;
>>      ssize_t ret;
>>
>>      if (vc->link_down) {
>> @@ -354,7 +354,7 @@ static ssize_t qemu_deliver_packet(VLANClientState
>> *sender,
>>      return ret;
>>  }
>>
>> -void qemu_purge_queued_packets(VLANClientState *vc)
>> +void qemu_purge_queued_packets(NetClientState *vc)
>>  {
>>      if (!vc->peer) {
>>          return;
>> @@ -363,14 +363,14 @@ void qemu_purge_queued_packets(VLANClientState *vc)
>>      qemu_net_queue_purge(vc->peer->send_queue, vc);
>>  }
>>
>> -void qemu_flush_queued_packets(VLANClientState *vc)
>> +void qemu_flush_queued_packets(NetClientState *vc)
>>  {
>>      vc->receive_disabled = 0;
>>
>>      qemu_net_queue_flush(vc->send_queue);
>>  }
>>
>> -static ssize_t qemu_send_packet_async_with_flags(VLANClientState *sender,
>> +static ssize_t qemu_send_packet_async_with_flags(NetClientState *sender,
>>                                                   unsigned flags,
>>                                                   const uint8_t *buf, int
>> size,
>>                                                   NetPacketSent *sent_cb)
>> @@ -391,7 +391,7 @@ static ssize_t
>> qemu_send_packet_async_with_flags(VLANClientState *sender,
>>      return qemu_net_queue_send(queue, sender, flags, buf, size, sent_cb);
>>  }
>>
>> -ssize_t qemu_send_packet_async(VLANClientState *sender,
>> +ssize_t qemu_send_packet_async(NetClientState *sender,
>>                                 const uint8_t *buf, int size,
>>                                 NetPacketSent *sent_cb)
>>  {
>> @@ -399,18 +399,18 @@ ssize_t qemu_send_packet_async(VLANClientState
>> *sender,
>>                                               buf, size, sent_cb);
>>  }
>>
>> -void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size)
>> +void qemu_send_packet(NetClientState *vc, const uint8_t *buf, int size)
>>  {
>>      qemu_send_packet_async(vc, buf, size, NULL);
>>  }
>>
>> -ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int
>> size)
>> +ssize_t qemu_send_packet_raw(NetClientState *vc, const uint8_t *buf, int
>> size)
>>  {
>>      return qemu_send_packet_async_with_flags(vc,
>> QEMU_NET_PACKET_FLAG_RAW,
>>                                               buf, size, NULL);
>>  }
>>
>> -static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec
>> *iov,
>> +static ssize_t vc_sendv_compat(NetClientState *vc, const struct iovec
>> *iov,
>>                                 int iovcnt)
>>  {
>>      uint8_t buffer[4096];
>> @@ -421,13 +421,13 @@ static ssize_t vc_sendv_compat(VLANClientState *vc,
>> const struct iovec *iov,
>>      return vc->info->receive(vc, buffer, offset);
>>  }
>>
>> -static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
>> +static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
>>                                         unsigned flags,
>>                                         const struct iovec *iov,
>>                                         int iovcnt,
>>                                         void *opaque)
>>  {
>> -    VLANClientState *vc = opaque;
>> +    NetClientState *vc = opaque;
>>
>>      if (vc->link_down) {
>>          return iov_size(iov, iovcnt);
>> @@ -440,7 +440,7 @@ static ssize_t qemu_deliver_packet_iov(VLANClientState
>> *sender,
>>      }
>>  }
>>
>> -ssize_t qemu_sendv_packet_async(VLANClientState *sender,
>> +ssize_t qemu_sendv_packet_async(NetClientState *sender,
>>                                  const struct iovec *iov, int iovcnt,
>>                                  NetPacketSent *sent_cb)
>>  {
>> @@ -458,14 +458,14 @@ ssize_t qemu_sendv_packet_async(VLANClientState
>> *sender,
>>  }
>>
>>  ssize_t
>> -qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov, int
>> iovcnt)
>> +qemu_sendv_packet(NetClientState *vc, const struct iovec *iov, int
>> iovcnt)
>>  {
>>      return qemu_sendv_packet_async(vc, iov, iovcnt, NULL);
>>  }
>>
>> -VLANClientState *qemu_find_netdev(const char *id)
>> +NetClientState *qemu_find_netdev(const char *id)
>>  {
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>
>>      QTAILQ_FOREACH(vc,&net_clients, next) {
>>          if (vc->info->type == NET_CLIENT_TYPE_NIC)
>> @@ -549,7 +549,7 @@ int net_handle_fd_param(Monitor *mon, const char
>> *param)
>>      return fd;
>>  }
>>
>> -static int net_init_nic(QemuOpts *opts, const char *name, VLANClientState
>> *peer)
>> +static int net_init_nic(QemuOpts *opts, const char *name, NetClientState
>> *peer)
>>  {
>>      int idx;
>>      NICInfo *nd;
>> @@ -623,7 +623,7 @@ static int net_init_nic(QemuOpts *opts, const char
>> *name, VLANClientState *peer)
>>
>>  typedef int (*net_client_init_func)(QemuOpts *opts,
>>                                      const char *name,
>> -                                    VLANClientState *peer);
>> +                                    NetClientState *peer);
>>
>>  /* magic number, but compiler will warn if too small */
>>  #define NET_MAX_DESC 20
>> @@ -937,7 +937,7 @@ int net_client_init(QemuOpts *opts, int is_netdev,
>> Error **errp)
>>          if (net_client_types[i].type != NULL&&
>>              !strcmp(net_client_types[i].type, type)) {
>>              Error *local_err = NULL;
>> -            VLANClientState *peer = NULL;
>> +            NetClientState *peer = NULL;
>>              int ret;
>>
>>
>>  qemu_opts_validate(opts,&net_client_types[i].desc[0],&local_err);
>> @@ -1023,7 +1023,7 @@ void net_host_device_add(Monitor *mon, const QDict
>> *qdict)
>>
>>  void net_host_device_remove(Monitor *mon, const QDict *qdict)
>>  {
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>      int vlan_id = qdict_get_int(qdict, "vlan_id");
>>      const char *device = qdict_get_str(qdict, "device");
>>
>> @@ -1075,7 +1075,7 @@ exit_err:
>>
>>  void qmp_netdev_del(const char *id, Error **errp)
>>  {
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>
>>      vc = qemu_find_netdev(id);
>>      if (!vc) {
>> @@ -1087,7 +1087,7 @@ void qmp_netdev_del(const char *id, Error **errp)
>>      qemu_opts_del(qemu_opts_find(qemu_find_opts_err("netdev", errp),
>> id));
>>  }
>>
>> -static void print_net_client(Monitor *mon, VLANClientState *vc)
>> +static void print_net_client(Monitor *mon, NetClientState *vc)
>>  {
>>      monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
>>                     net_client_types[vc->info->type].type, vc->info_str);
>> @@ -1095,7 +1095,7 @@ static void print_net_client(Monitor *mon,
>> VLANClientState *vc)
>>
>>  void do_info_network(Monitor *mon)
>>  {
>> -    VLANClientState *vc, *peer;
>> +    NetClientState *vc, *peer;
>>      net_client_type type;
>>
>>      monitor_printf(mon, "Devices not on any VLAN:\n");
>> @@ -1124,7 +1124,6 @@ void qmp_set_link(const char *name, bool up, Error
>> **errp)
>>          }
>>      }
>>  done:
>> -
>>      if (!vc) {
>>          qerror_report(QERR_DEVICE_NOT_FOUND, name);
>>          return;
>> @@ -1150,7 +1149,7 @@ done:
>>
>>  void net_cleanup(void)
>>  {
>> -    VLANClientState *vc, *next_vc;
>> +    NetClientState *vc, *next_vc;
>>
>>      QTAILQ_FOREACH_SAFE(vc,&net_clients, next, next_vc) {
>>          qemu_del_vlan_client(vc);
>> @@ -1159,7 +1158,7 @@ void net_cleanup(void)
>>
>>  void net_check_clients(void)
>>  {
>> -    VLANClientState *vc;
>> +    NetClientState *vc;
>>      int i;
>>
>>      /* Don't warn about the default network setup that you get if
>> diff --git a/net.h b/net.h
>> index 7b8501a..748f11c 100644
>> --- a/net.h
>> +++ b/net.h
>> @@ -16,7 +16,7 @@ struct MACAddr {
>>
>>  typedef struct NICConf {
>>      MACAddr macaddr;
>> -    VLANClientState *peer;
>> +    NetClientState *peer;
>>      int32_t bootindex;
>>  } NICConf;
>>
>> @@ -25,7 +25,7 @@ typedef struct NICConf {
>>      DEFINE_PROP_NETDEV("netdev", _state, _conf.peer),                   \
>>      DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1)
>>
>> -/* VLANs support */
>> +/* Net clients */
>>
>>  typedef enum {
>>      NET_CLIENT_TYPE_NONE,
>> @@ -41,12 +41,12 @@ typedef enum {
>>      NET_CLIENT_TYPE_MAX
>>  } net_client_type;
>>
>> -typedef void (NetPoll)(VLANClientState *, bool enable);
>> -typedef int (NetCanReceive)(VLANClientState *);
>> -typedef ssize_t (NetReceive)(VLANClientState *, const uint8_t *, size_t);
>> -typedef ssize_t (NetReceiveIOV)(VLANClientState *, const struct iovec *,
>> int);
>> -typedef void (NetCleanup) (VLANClientState *);
>> -typedef void (LinkStatusChanged)(VLANClientState *);
>> +typedef void (NetPoll)(NetClientState *, bool enable);
>> +typedef int (NetCanReceive)(NetClientState *);
>> +typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t);
>> +typedef ssize_t (NetReceiveIOV)(NetClientState *, const struct iovec *,
>> int);
>> +typedef void (NetCleanup) (NetClientState *);
>> +typedef void (LinkStatusChanged)(NetClientState *);
>>
>>  typedef struct NetClientInfo {
>>      net_client_type type;
>> @@ -60,11 +60,11 @@ typedef struct NetClientInfo {
>>      NetPoll *poll;
>>  } NetClientInfo;
>>
>> -struct VLANClientState {
>> +struct NetClientState {
>>      NetClientInfo *info;
>>      int link_down;
>> -    QTAILQ_ENTRY(VLANClientState) next;
>> -    VLANClientState *peer;
>> +    QTAILQ_ENTRY(NetClientState) next;
>> +    NetClientState *peer;
>>      NetQueue *send_queue;
>>      char *model;
>>      char *name;
>> @@ -73,39 +73,39 @@ struct VLANClientState {
>>  };
>>
>>  typedef struct NICState {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      NICConf *conf;
>>      void *opaque;
>>      bool peer_deleted;
>>  } NICState;
>>
>> -VLANClientState *qemu_find_netdev(const char *id);
>> -VLANClientState *qemu_new_net_client(NetClientInfo *info,
>> -                                     VLANClientState *peer,
>> -                                     const char *model,
>> -                                     const char *name);
>> +NetClientState *qemu_find_netdev(const char *id);
>> +NetClientState *qemu_new_net_client(NetClientInfo *info,
>> +                                    NetClientState *peer,
>> +                                    const char *model,
>> +                                    const char *name);
>>  NICState *qemu_new_nic(NetClientInfo *info,
>>                         NICConf *conf,
>>                         const char *model,
>>                         const char *name,
>>                         void *opaque);
>> -void qemu_del_vlan_client(VLANClientState *vc);
>> -VLANClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id,
>> -                                               const char *client_str);
>> +void qemu_del_vlan_client(NetClientState *vc);
>> +NetClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id,
>> +                                              const char *client_str);
>>  typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque);
>>  void qemu_foreach_nic(qemu_nic_foreach func, void *opaque);
>> -int qemu_can_send_packet(VLANClientState *vc);
>> -ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
>> +int qemu_can_send_packet(NetClientState *vc);
>> +ssize_t qemu_sendv_packet(NetClientState *vc, const struct iovec *iov,
>>                            int iovcnt);
>> -ssize_t qemu_sendv_packet_async(VLANClientState *vc, const struct iovec
>> *iov,
>> +ssize_t qemu_sendv_packet_async(NetClientState *vc, const struct iovec
>> *iov,
>>                                  int iovcnt, NetPacketSent *sent_cb);
>> -void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
>> -ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int
>> size);
>> -ssize_t qemu_send_packet_async(VLANClientState *vc, const uint8_t *buf,
>> +void qemu_send_packet(NetClientState *vc, const uint8_t *buf, int size);
>> +ssize_t qemu_send_packet_raw(NetClientState *vc, const uint8_t *buf, int
>> size);
>> +ssize_t qemu_send_packet_async(NetClientState *vc, const uint8_t *buf,
>>                                 int size, NetPacketSent *sent_cb);
>> -void qemu_purge_queued_packets(VLANClientState *vc);
>> -void qemu_flush_queued_packets(VLANClientState *vc);
>> -void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]);
>> +void qemu_purge_queued_packets(NetClientState *vc);
>> +void qemu_flush_queued_packets(NetClientState *vc);
>> +void qemu_format_nic_info_str(NetClientState *vc, uint8_t macaddr[6]);
>>  void qemu_macaddr_default_if_unset(MACAddr *macaddr);
>>  int qemu_show_nic_models(const char *arg, const char *const *models);
>>  void qemu_check_nic_model(NICInfo *nd, const char *model);
>> @@ -123,7 +123,7 @@ struct NICInfo {
>>      char *model;
>>      char *name;
>>      char *devaddr;
>> -    VLANClientState *netdev;
>> +    NetClientState *netdev;
>>      int used;         /* is this slot in nd_table[] being used? */
>>      int instantiated; /* does this NICInfo correspond to an instantiated
>> NIC? */
>>      int nvectors;
>> diff --git a/net/dump.c b/net/dump.c
>> index 0349210..76f3664 100644
>> --- a/net/dump.c
>> +++ b/net/dump.c
>> @@ -30,7 +30,7 @@
>>  #include "hub.h"
>>
>>  typedef struct DumpState {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      int64_t start_ts;
>>      int fd;
>>      int pcap_caplen;
>> @@ -57,7 +57,7 @@ struct pcap_sf_pkthdr {
>>      uint32_t len;
>>  };
>>
>> -static ssize_t dump_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t dump_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      DumpState *s = DO_UPCAST(DumpState, nc, nc);
>>      struct pcap_sf_pkthdr hdr;
>> @@ -86,7 +86,7 @@ static ssize_t dump_receive(VLANClientState *nc, const
>> uint8_t *buf, size_t size
>>      return size;
>>  }
>>
>> -static void dump_cleanup(VLANClientState *nc)
>> +static void dump_cleanup(NetClientState *nc)
>>  {
>>      DumpState *s = DO_UPCAST(DumpState, nc, nc);
>>
>> @@ -100,11 +100,11 @@ static NetClientInfo net_dump_info = {
>>      .cleanup = dump_cleanup,
>>  };
>>
>> -static int net_dump_init(VLANClientState *peer, const char *device,
>> +static int net_dump_init(NetClientState *peer, const char *device,
>>                           const char *name, const char *filename, int len)
>>  {
>>      struct pcap_file_hdr hdr;
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      DumpState *s;
>>      struct tm tm;
>>      int fd;
>> @@ -145,7 +145,7 @@ static int net_dump_init(VLANClientState *peer, const
>> char *device,
>>      return 0;
>>  }
>>
>> -int net_init_dump(QemuOpts *opts, const char *name, VLANClientState
>> *peer)
>> +int net_init_dump(QemuOpts *opts, const char *name, NetClientState *peer)
>>  {
>>      int len;
>>      const char *file;
>> diff --git a/net/dump.h b/net/dump.h
>> index 907eb03..e6d1d80 100644
>> --- a/net/dump.h
>> +++ b/net/dump.h
>> @@ -27,6 +27,6 @@
>>  #include "net.h"
>>  #include "qemu-common.h"
>>
>> -int net_init_dump(QemuOpts *opts, const char *name, VLANClientState
>> *peer);
>> +int net_init_dump(QemuOpts *opts, const char *name, NetClientState
>> *peer);
>>
>>  #endif /* QEMU_NET_DUMP_H */
>> diff --git a/net/hub.c b/net/hub.c
>> index fe78a72..122de69 100644
>> --- a/net/hub.c
>> +++ b/net/hub.c
>> @@ -25,7 +25,7 @@
>>  typedef struct NetHub NetHub;
>>
>>  typedef struct NetHubPort {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      QLIST_ENTRY(NetHubPort) next;
>>      NetHub *hub;
>>      unsigned int id;
>> @@ -85,7 +85,7 @@ static NetHub *net_hub_new(unsigned int id)
>>      return hub;
>>  }
>>
>> -static ssize_t net_hub_port_receive(VLANClientState *nc,
>> +static ssize_t net_hub_port_receive(NetClientState *nc,
>>                                      const uint8_t *buf, size_t len)
>>  {
>>      NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
>> @@ -93,7 +93,7 @@ static ssize_t net_hub_port_receive(VLANClientState *nc,
>>      return net_hub_receive(port->hub, port, buf, len);
>>  }
>>
>> -static ssize_t net_hub_port_receive_iov(VLANClientState *nc,
>> +static ssize_t net_hub_port_receive_iov(NetClientState *nc,
>>                                          const struct iovec *iov, int
>> iovcnt)
>>  {
>>      NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
>> @@ -101,7 +101,7 @@ static ssize_t
>> net_hub_port_receive_iov(VLANClientState *nc,
>>      return net_hub_receive_iov(port->hub, port, iov, iovcnt);
>>  }
>>
>> -static void net_hub_port_cleanup(VLANClientState *nc)
>> +static void net_hub_port_cleanup(NetClientState *nc)
>>  {
>>      NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
>>
>> @@ -118,7 +118,7 @@ static NetClientInfo net_hub_port_info = {
>>
>>  static NetHubPort *net_hub_port_new(NetHub *hub)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      NetHubPort *port;
>>      unsigned int id = hub->num_ports++;
>>      char name[128];
>> @@ -140,7 +140,7 @@ static NetHubPort *net_hub_port_new(NetHub *hub)
>>   *
>>   * If there is no existing hub with the given id then a new hub is
>> created.
>>   */
>> -VLANClientState *net_hub_add_port(unsigned int hub_id)
>> +NetClientState *net_hub_add_port(unsigned int hub_id)
>>  {
>>      NetHub *hub;
>>      NetHubPort *port;
>> @@ -162,12 +162,12 @@ VLANClientState *net_hub_add_port(unsigned int
>> hub_id)
>>  /**
>>   * Find a specific client on a hub
>>   */
>> -VLANClientState *net_hub_find_client_by_name(unsigned int hub_id,
>> -                                             const char *name)
>> +NetClientState *net_hub_find_client_by_name(unsigned int hub_id,
>> +                                            const char *name)
>>  {
>>      NetHub *hub;
>>      NetHubPort *port;
>> -    VLANClientState *peer;
>> +    NetClientState *peer;
>>
>>      QLIST_FOREACH(hub,&hubs, next) {
>>          if (hub->id == hub_id) {
>> @@ -205,7 +205,7 @@ void net_hub_info(Monitor *mon)
>>   *
>>   * @id              Pointer for hub id output, may be NULL
>>   */
>> -int net_hub_id_for_client(VLANClientState *nc, unsigned int *id)
>> +int net_hub_id_for_client(NetClientState *nc, unsigned int *id)
>>  {
>>      NetHub *hub;
>>      NetHubPort *port;
>> @@ -231,7 +231,7 @@ void net_hub_check_clients(void)
>>  {
>>      NetHub *hub;
>>      NetHubPort *port;
>> -    VLANClientState *peer;
>> +    NetClientState *peer;
>>
>>      QLIST_FOREACH(hub,&hubs, next) {
>>          int has_nic = 0, has_host_dev = 0;
>> diff --git a/net/hub.h b/net/hub.h
>> index 10bf036..ff5024a 100644
>> --- a/net/hub.h
>> +++ b/net/hub.h
>> @@ -17,11 +17,11 @@
>>
>>  #include "qemu-common.h"
>>
>> -VLANClientState *net_hub_add_port(unsigned int hub_id);
>> -VLANClientState *net_hub_find_client_by_name(unsigned int hub_id,
>> -                                             const char *name);
>> +NetClientState *net_hub_add_port(unsigned int hub_id);
>> +NetClientState *net_hub_find_client_by_name(unsigned int hub_id,
>> +                                            const char *name);
>>  void net_hub_info(Monitor *mon);
>> -int net_hub_id_for_client(VLANClientState *nc, unsigned int *id);
>> +int net_hub_id_for_client(NetClientState *nc, unsigned int *id);
>>  void net_hub_check_clients(void);
>>
>>  #endif /* NET_HUB_H */
>> diff --git a/net/queue.c b/net/queue.c
>> index 1ab5247..35c3463 100644
>> --- a/net/queue.c
>> +++ b/net/queue.c
>> @@ -40,7 +40,7 @@
>>
>>  struct NetPacket {
>>      QTAILQ_ENTRY(NetPacket) entry;
>> -    VLANClientState *sender;
>> +    NetClientState *sender;
>>      unsigned flags;
>>      int size;
>>      NetPacketSent *sent_cb;
>> @@ -89,7 +89,7 @@ void qemu_del_net_queue(NetQueue *queue)
>>  }
>>
>>  static ssize_t qemu_net_queue_append(NetQueue *queue,
>> -                                     VLANClientState *sender,
>> +                                     NetClientState *sender,
>>                                       unsigned flags,
>>                                       const uint8_t *buf,
>>                                       size_t size,
>> @@ -110,7 +110,7 @@ static ssize_t qemu_net_queue_append(NetQueue *queue,
>>  }
>>
>>  static ssize_t qemu_net_queue_append_iov(NetQueue *queue,
>> -                                         VLANClientState *sender,
>> +                                         NetClientState *sender,
>>                                           unsigned flags,
>>                                           const struct iovec *iov,
>>                                           int iovcnt,
>> @@ -143,7 +143,7 @@ static ssize_t qemu_net_queue_append_iov(NetQueue
>> *queue,
>>  }
>>
>>  static ssize_t qemu_net_queue_deliver(NetQueue *queue,
>> -                                      VLANClientState *sender,
>> +                                      NetClientState *sender,
>>                                        unsigned flags,
>>                                        const uint8_t *data,
>>                                        size_t size)
>> @@ -158,7 +158,7 @@ static ssize_t qemu_net_queue_deliver(NetQueue *queue,
>>  }
>>
>>  static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
>> -                                          VLANClientState *sender,
>> +                                          NetClientState *sender,
>>                                            unsigned flags,
>>                                            const struct iovec *iov,
>>                                            int iovcnt)
>> @@ -173,7 +173,7 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue
>> *queue,
>>  }
>>
>>  ssize_t qemu_net_queue_send(NetQueue *queue,
>> -                            VLANClientState *sender,
>> +                            NetClientState *sender,
>>                              unsigned flags,
>>                              const uint8_t *data,
>>                              size_t size,
>> @@ -197,7 +197,7 @@ ssize_t qemu_net_queue_send(NetQueue *queue,
>>  }
>>
>>  ssize_t qemu_net_queue_send_iov(NetQueue *queue,
>> -                                VLANClientState *sender,
>> +                                NetClientState *sender,
>>                                  unsigned flags,
>>                                  const struct iovec *iov,
>>                                  int iovcnt,
>> @@ -220,7 +220,7 @@ ssize_t qemu_net_queue_send_iov(NetQueue *queue,
>>      return ret;
>>  }
>>
>> -void qemu_net_queue_purge(NetQueue *queue, VLANClientState *from)
>> +void qemu_net_queue_purge(NetQueue *queue, NetClientState *from)
>>  {
>>      NetPacket *packet, *next;
>>
>> diff --git a/net/queue.h b/net/queue.h
>> index a31958e..d8eac0b 100644
>> --- a/net/queue.h
>> +++ b/net/queue.h
>> @@ -29,15 +29,15 @@
>>  typedef struct NetPacket NetPacket;
>>  typedef struct NetQueue NetQueue;
>>
>> -typedef void (NetPacketSent) (VLANClientState *sender, ssize_t ret);
>> +typedef void (NetPacketSent) (NetClientState *sender, ssize_t ret);
>>
>> -typedef ssize_t (NetPacketDeliver) (VLANClientState *sender,
>> +typedef ssize_t (NetPacketDeliver) (NetClientState *sender,
>>                                      unsigned flags,
>>                                      const uint8_t *buf,
>>                                      size_t size,
>>                                      void *opaque);
>>
>> -typedef ssize_t (NetPacketDeliverIOV) (VLANClientState *sender,
>> +typedef ssize_t (NetPacketDeliverIOV) (NetClientState *sender,
>>                                         unsigned flags,
>>                                         const struct iovec *iov,
>>                                         int iovcnt,
>> @@ -52,20 +52,20 @@ NetQueue *qemu_new_net_queue(NetPacketDeliver
>> *deliver,
>>  void qemu_del_net_queue(NetQueue *queue);
>>
>>  ssize_t qemu_net_queue_send(NetQueue *queue,
>> -                            VLANClientState *sender,
>> +                            NetClientState *sender,
>>                              unsigned flags,
>>                              const uint8_t *data,
>>                              size_t size,
>>                              NetPacketSent *sent_cb);
>>
>>  ssize_t qemu_net_queue_send_iov(NetQueue *queue,
>> -                                VLANClientState *sender,
>> +                                NetClientState *sender,
>>                                  unsigned flags,
>>                                  const struct iovec *iov,
>>                                  int iovcnt,
>>                                  NetPacketSent *sent_cb);
>>
>> -void qemu_net_queue_purge(NetQueue *queue, VLANClientState *from);
>> +void qemu_net_queue_purge(NetQueue *queue, NetClientState *from);
>>  void qemu_net_queue_flush(NetQueue *queue);
>>
>>  #endif /* QEMU_NET_QUEUE_H */
>> diff --git a/net/slirp.c b/net/slirp.c
>> index 1145412..b060309 100644
>> --- a/net/slirp.c
>> +++ b/net/slirp.c
>> @@ -67,7 +67,7 @@ struct slirp_config_str {
>>  };
>>
>>  typedef struct SlirpState {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      QTAILQ_ENTRY(SlirpState) entry;
>>      Slirp *slirp;
>>  #ifndef _WIN32
>> @@ -110,7 +110,7 @@ void slirp_output(void *opaque, const uint8_t *pkt,
>> int pkt_len)
>>      qemu_send_packet(&s->nc, pkt, pkt_len);
>>  }
>>
>> -static ssize_t net_slirp_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t net_slirp_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      SlirpState *s = DO_UPCAST(SlirpState, nc, nc);
>>
>> @@ -119,7 +119,7 @@ static ssize_t net_slirp_receive(VLANClientState *nc,
>> const uint8_t *buf, size_t
>>      return size;
>>  }
>>
>> -static void net_slirp_cleanup(VLANClientState *nc)
>> +static void net_slirp_cleanup(NetClientState *nc)
>>  {
>>      SlirpState *s = DO_UPCAST(SlirpState, nc, nc);
>>
>> @@ -135,7 +135,7 @@ static NetClientInfo net_slirp_info = {
>>      .cleanup = net_slirp_cleanup,
>>  };
>>
>> -static int net_slirp_init(VLANClientState *peer, const char *model,
>> +static int net_slirp_init(NetClientState *peer, const char *model,
>>                            const char *name, int restricted,
>>                            const char *vnetwork, const char *vhost,
>>                            const char *vhostname, const char *tftp_export,
>> @@ -152,7 +152,7 @@ static int net_slirp_init(VLANClientState *peer, const
>> char *model,
>>  #ifndef _WIN32
>>      struct in_addr smbsrv = { .s_addr = 0 };
>>  #endif
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      SlirpState *s;
>>      char buf[20];
>>      uint32_t addr;
>> @@ -283,7 +283,7 @@ static SlirpState *slirp_lookup(Monitor *mon, const
>> char *vlan,
>>  {
>>
>>      if (vlan) {
>> -        VLANClientState *nc;
>> +        NetClientState *nc;
>>          nc = net_hub_find_client_by_name(strtol(vlan, NULL, 0), stack);
>>          if (!nc) {
>>              return NULL;
>> @@ -677,7 +677,7 @@ static int net_init_slirp_configs(const char *name,
>> const char *value, void *opa
>>      return 0;
>>  }
>>
>> -int net_init_slirp(QemuOpts *opts, const char *name, VLANClientState
>> *peer)
>> +int net_init_slirp(QemuOpts *opts, const char *name, NetClientState
>> *peer)
>>  {
>>      struct slirp_config_str *config;
>>      const char *vhost;
>> diff --git a/net/slirp.h b/net/slirp.h
>> index a1ea8f2..de6a009 100644
>> --- a/net/slirp.h
>> +++ b/net/slirp.h
>> @@ -30,7 +30,7 @@
>>
>>  #ifdef CONFIG_SLIRP
>>
>> -int net_init_slirp(QemuOpts *opts, const char *name, VLANClientState
>> *peer);
>> +int net_init_slirp(QemuOpts *opts, const char *name, NetClientState
>> *peer);
>>
>>  void net_slirp_hostfwd_add(Monitor *mon, const QDict *qdict);
>>  void net_slirp_hostfwd_remove(Monitor *mon, const QDict *qdict);
>> diff --git a/net/socket.c b/net/socket.c
>> index 62e5ac5..dc5ba40 100644
>> --- a/net/socket.c
>> +++ b/net/socket.c
>> @@ -34,7 +34,7 @@
>>  #include "qemu_socket.h"
>>
>>  typedef struct NetSocketState {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      int fd;
>>      int state; /* 0 = getting length, 1 = getting data */
>>      unsigned int index;
>> @@ -44,14 +44,14 @@ typedef struct NetSocketState {
>>  } NetSocketState;
>>
>>  typedef struct NetSocketListenState {
>> -    VLANClientState *peer;
>> +    NetClientState *peer;
>>      char *model;
>>      char *name;
>>      int fd;
>>  } NetSocketListenState;
>>
>>  /* XXX: we consider we can send the whole packet without blocking */
>> -static ssize_t net_socket_receive(VLANClientState *nc, const uint8_t
>> *buf, size_t size)
>> +static ssize_t net_socket_receive(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
>>      uint32_t len;
>> @@ -61,7 +61,7 @@ static ssize_t net_socket_receive(VLANClientState *nc,
>> const uint8_t *buf, size_
>>      return send_all(s->fd, buf, size);
>>  }
>>
>> -static ssize_t net_socket_receive_dgram(VLANClientState *nc, const
>> uint8_t *buf, size_t size)
>> +static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t
>> *buf, size_t size)
>>  {
>>      NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
>>
>> @@ -231,7 +231,7 @@ fail:
>>      return -1;
>>  }
>>
>> -static void net_socket_cleanup(VLANClientState *nc)
>> +static void net_socket_cleanup(NetClientState *nc)
>>  {
>>      NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
>>      qemu_set_fd_handler(s->fd, NULL, NULL, NULL);
>> @@ -245,7 +245,7 @@ static NetClientInfo net_dgram_socket_info = {
>>      .cleanup = net_socket_cleanup,
>>  };
>>
>> -static NetSocketState *net_socket_fd_init_dgram(VLANClientState *peer,
>> +static NetSocketState *net_socket_fd_init_dgram(NetClientState *peer,
>>                                                  const char *model,
>>                                                  const char *name,
>>                                                  int fd, int is_connected)
>> @@ -253,7 +253,7 @@ static NetSocketState
>> *net_socket_fd_init_dgram(VLANClientState *peer,
>>      struct sockaddr_in saddr;
>>      int newfd;
>>      socklen_t saddr_len;
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      NetSocketState *s;
>>
>>      /* fd passed: multicast: "learn" dgram_dst address from bound address
>> and save it
>> @@ -323,12 +323,12 @@ static NetClientInfo net_socket_info = {
>>      .cleanup = net_socket_cleanup,
>>  };
>>
>> -static NetSocketState *net_socket_fd_init_stream(VLANClientState *peer,
>> +static NetSocketState *net_socket_fd_init_stream(NetClientState *peer,
>>                                                   const char *model,
>>                                                   const char *name,
>>                                                   int fd, int
>> is_connected)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      NetSocketState *s;
>>
>>      nc = qemu_new_net_client(&net_socket_info, peer, model, name);
>> @@ -347,7 +347,7 @@ static NetSocketState
>> *net_socket_fd_init_stream(VLANClientState *peer,
>>      return s;
>>  }
>>
>> -static NetSocketState *net_socket_fd_init(VLANClientState *peer,
>> +static NetSocketState *net_socket_fd_init(NetClientState *peer,
>>                                            const char *model, const char
>> *name,
>>                                            int fd, int is_connected)
>>  {
>> @@ -400,7 +400,7 @@ static void net_socket_accept(void *opaque)
>>      }
>>  }
>>
>> -static int net_socket_listen_init(VLANClientState *peer,
>> +static int net_socket_listen_init(NetClientState *peer,
>>                                    const char *model,
>>                                    const char *name,
>>                                    const char *host_str)
>> @@ -448,7 +448,7 @@ static int net_socket_listen_init(VLANClientState
>> *peer,
>>      return 0;
>>  }
>>
>> -static int net_socket_connect_init(VLANClientState *peer,
>> +static int net_socket_connect_init(NetClientState *peer,
>>                                     const char *model,
>>                                     const char *name,
>>                                     const char *host_str)
>> @@ -498,7 +498,7 @@ static int net_socket_connect_init(VLANClientState
>> *peer,
>>      return 0;
>>  }
>>
>> -static int net_socket_mcast_init(VLANClientState *peer,
>> +static int net_socket_mcast_init(NetClientState *peer,
>>                                   const char *model,
>>                                   const char *name,
>>                                   const char *host_str,
>> @@ -588,7 +588,7 @@ static int net_socket_udp_init(NetClientState *peer,
>>      return 0;
>>  }
>>
>> -int net_init_socket(QemuOpts *opts, const char *name, VLANClientState
>> *peer)
>> +int net_init_socket(QemuOpts *opts, const char *name, NetClientState
>> *peer)
>>  {
>>      if (qemu_opt_get(opts, "fd")) {
>>          int fd;
>> diff --git a/net/socket.h b/net/socket.h
>> index c1ee5b3..d1e5700 100644
>> --- a/net/socket.h
>> +++ b/net/socket.h
>> @@ -27,6 +27,6 @@
>>  #include "net.h"
>>  #include "qemu-common.h"
>>
>> -int net_init_socket(QemuOpts *opts, const char *name, VLANClientState
>> *vlan);
>> +int net_init_socket(QemuOpts *opts, const char *name, NetClientState
>> *vlan);
>>
>>  #endif /* QEMU_NET_SOCKET_H */
>> diff --git a/net/tap-win32.c b/net/tap-win32.c
>> index 905781c..05d3cbc 100644
>> --- a/net/tap-win32.c
>> +++ b/net/tap-win32.c
>> @@ -630,11 +630,11 @@ static int tap_win32_open(tap_win32_overlapped_t
>> **phandle,
>>  /********************************************/
>>
>>   typedef struct TAPState {
>> -     VLANClientState nc;
>> +     NetClientState nc;
>>       tap_win32_overlapped_t *handle;
>>   } TAPState;
>>
>> -static void tap_cleanup(VLANClientState *nc)
>> +static void tap_cleanup(NetClientState *nc)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -645,7 +645,7 @@ static void tap_cleanup(VLANClientState *nc)
>>      */
>>  }
>>
>> -static ssize_t tap_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -673,10 +673,10 @@ static NetClientInfo net_tap_win32_info = {
>>      .cleanup = tap_cleanup,
>>  };
>>
>> -static int tap_win32_init(VLANClientState *peer, const char *model,
>> +static int tap_win32_init(NetClientState *peer, const char *model,
>>                            const char *name, const char *ifname)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      TAPState *s;
>>      tap_win32_overlapped_t *handle;
>>
>> @@ -699,7 +699,7 @@ static int tap_win32_init(VLANClientState *peer, const
>> char *model,
>>      return 0;
>>  }
>>
>> -int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
>> +int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer)
>>  {
>>      const char *ifname;
>>
>> @@ -717,12 +717,12 @@ int net_init_tap(QemuOpts *opts, const char *name,
>> VLANClientState *peer)
>>      return 0;
>>  }
>>
>> -int tap_has_ufo(VLANClientState *vc)
>> +int tap_has_ufo(NetClientState *vc)
>>  {
>>      return 0;
>>  }
>>
>> -int tap_has_vnet_hdr(VLANClientState *vc)
>> +int tap_has_vnet_hdr(NetClientState *vc)
>>  {
>>      return 0;
>>  }
>> @@ -736,16 +736,16 @@ void tap_fd_set_vnet_hdr_len(int fd, int len)
>>  {
>>  }
>>
>> -void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr)
>> +void tap_using_vnet_hdr(NetClientState *vc, int using_vnet_hdr)
>>  {
>>  }
>>
>> -void tap_set_offload(VLANClientState *vc, int csum, int tso4,
>> +void tap_set_offload(NetClientState *vc, int csum, int tso4,
>>                       int tso6, int ecn, int ufo)
>>  {
>>  }
>>
>> -struct vhost_net *tap_get_vhost_net(VLANClientState *nc)
>> +struct vhost_net *tap_get_vhost_net(NetClientState *nc)
>>  {
>>      return NULL;
>>  }
>> diff --git a/net/tap.c b/net/tap.c
>> index f814936..e2f0536 100644
>> --- a/net/tap.c
>> +++ b/net/tap.c
>> @@ -49,7 +49,7 @@
>>  #define TAP_BUFSIZE (4096 + 65536)
>>
>>  typedef struct TAPState {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      int fd;
>>      char down_script[1024];
>>      char down_script_arg[128];
>> @@ -114,7 +114,7 @@ static ssize_t tap_write_packet(TAPState *s, const
>> struct iovec *iov, int iovcnt
>>      return len;
>>  }
>>
>> -static ssize_t tap_receive_iov(VLANClientState *nc, const struct iovec
>> *iov,
>> +static ssize_t tap_receive_iov(NetClientState *nc, const struct iovec
>> *iov,
>>                                 int iovcnt)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>> @@ -133,7 +133,7 @@ static ssize_t tap_receive_iov(VLANClientState *nc,
>> const struct iovec *iov,
>>      return tap_write_packet(s, iovp, iovcnt);
>>  }
>>
>> -static ssize_t tap_receive_raw(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t tap_receive_raw(NetClientState *nc, const uint8_t *buf,
>> size_t size)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>      struct iovec iov[2];
>> @@ -153,7 +153,7 @@ static ssize_t tap_receive_raw(VLANClientState *nc,
>> const uint8_t *buf, size_t s
>>      return tap_write_packet(s, iov, iovcnt);
>>  }
>>
>> -static ssize_t tap_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>      struct iovec iov[1];
>> @@ -182,7 +182,7 @@ ssize_t tap_read_packet(int tapfd, uint8_t *buf, int
>> maxlen)
>>  }
>>  #endif
>>
>> -static void tap_send_completed(VLANClientState *nc, ssize_t len)
>> +static void tap_send_completed(NetClientState *nc, ssize_t len)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>      tap_read_poll(s, 1);
>> @@ -213,7 +213,7 @@ static void tap_send(void *opaque)
>>      } while (size>  0&&  qemu_can_send_packet(&s->nc));
>>  }
>>
>> -int tap_has_ufo(VLANClientState *nc)
>> +int tap_has_ufo(NetClientState *nc)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -222,7 +222,7 @@ int tap_has_ufo(VLANClientState *nc)
>>      return s->has_ufo;
>>  }
>>
>> -int tap_has_vnet_hdr(VLANClientState *nc)
>> +int tap_has_vnet_hdr(NetClientState *nc)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -231,7 +231,7 @@ int tap_has_vnet_hdr(VLANClientState *nc)
>>      return !!s->host_vnet_hdr_len;
>>  }
>>
>> -int tap_has_vnet_hdr_len(VLANClientState *nc, int len)
>> +int tap_has_vnet_hdr_len(NetClientState *nc, int len)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -240,7 +240,7 @@ int tap_has_vnet_hdr_len(VLANClientState *nc, int len)
>>      return tap_probe_vnet_hdr_len(s->fd, len);
>>  }
>>
>> -void tap_set_vnet_hdr_len(VLANClientState *nc, int len)
>> +void tap_set_vnet_hdr_len(NetClientState *nc, int len)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -252,7 +252,7 @@ void tap_set_vnet_hdr_len(VLANClientState *nc, int
>> len)
>>      s->host_vnet_hdr_len = len;
>>  }
>>
>> -void tap_using_vnet_hdr(VLANClientState *nc, int using_vnet_hdr)
>> +void tap_using_vnet_hdr(NetClientState *nc, int using_vnet_hdr)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -264,7 +264,7 @@ void tap_using_vnet_hdr(VLANClientState *nc, int
>> using_vnet_hdr)
>>      s->using_vnet_hdr = using_vnet_hdr;
>>  }
>>
>> -void tap_set_offload(VLANClientState *nc, int csum, int tso4,
>> +void tap_set_offload(NetClientState *nc, int csum, int tso4,
>>                       int tso6, int ecn, int ufo)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>> @@ -275,7 +275,7 @@ void tap_set_offload(VLANClientState *nc, int csum,
>> int tso4,
>>      tap_fd_set_offload(s->fd, csum, tso4, tso6, ecn, ufo);
>>  }
>>
>> -static void tap_cleanup(VLANClientState *nc)
>> +static void tap_cleanup(NetClientState *nc)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>
>> @@ -295,14 +295,14 @@ static void tap_cleanup(VLANClientState *nc)
>>      s->fd = -1;
>>  }
>>
>> -static void tap_poll(VLANClientState *nc, bool enable)
>> +static void tap_poll(NetClientState *nc, bool enable)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>      tap_read_poll(s, enable);
>>      tap_write_poll(s, enable);
>>  }
>>
>> -int tap_get_fd(VLANClientState *nc)
>> +int tap_get_fd(NetClientState *nc)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>      assert(nc->info->type == NET_CLIENT_TYPE_TAP);
>> @@ -321,13 +321,13 @@ static NetClientInfo net_tap_info = {
>>      .cleanup = tap_cleanup,
>>  };
>>
>> -static TAPState *net_tap_fd_init(VLANClientState *peer,
>> +static TAPState *net_tap_fd_init(NetClientState *peer,
>>                                   const char *model,
>>                                   const char *name,
>>                                   int fd,
>>                                   int vnet_hdr)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      TAPState *s;
>>
>>      nc = qemu_new_net_client(&net_tap_info, peer, model, name);
>> @@ -582,7 +582,7 @@ static int net_tap_init(QemuOpts *opts, int *vnet_hdr)
>>      return fd;
>>  }
>>
>> -int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
>> +int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer)
>>  {
>>      TAPState *s;
>>      int fd, vnet_hdr = 0;
>> @@ -707,7 +707,7 @@ int net_init_tap(QemuOpts *opts, const char *name,
>> VLANClientState *peer)
>>      return 0;
>>  }
>>
>> -VHostNetState *tap_get_vhost_net(VLANClientState *nc)
>> +VHostNetState *tap_get_vhost_net(NetClientState *nc)
>>  {
>>      TAPState *s = DO_UPCAST(TAPState, nc, nc);
>>      assert(nc->info->type == NET_CLIENT_TYPE_TAP);
>> diff --git a/net/tap.h b/net/tap.h
>> index fcc90dc..0934b19 100644
>> --- a/net/tap.h
>> +++ b/net/tap.h
>> @@ -32,18 +32,18 @@
>>  #define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
>>  #define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
>>
>> -int net_init_tap(QemuOpts *opts, const char *name, VLANClientState
>> *peer);
>> +int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer);
>>
>>  int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int
>> vnet_hdr_required);
>>
>>  ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen);
>>
>> -int tap_has_ufo(VLANClientState *vc);
>> -int tap_has_vnet_hdr(VLANClientState *vc);
>> -int tap_has_vnet_hdr_len(VLANClientState *vc, int len);
>> -void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr);
>> -void tap_set_offload(VLANClientState *vc, int csum, int tso4, int tso6,
>> int ecn, int ufo);
>> -void tap_set_vnet_hdr_len(VLANClientState *vc, int len);
>> +int tap_has_ufo(NetClientState *vc);
>> +int tap_has_vnet_hdr(NetClientState *vc);
>> +int tap_has_vnet_hdr_len(NetClientState *vc, int len);
>> +void tap_using_vnet_hdr(NetClientState *vc, int using_vnet_hdr);
>> +void tap_set_offload(NetClientState *vc, int csum, int tso4, int tso6,
>> int ecn, int ufo);
>> +void tap_set_vnet_hdr_len(NetClientState *vc, int len);
>>
>>  int tap_set_sndbuf(int fd, QemuOpts *opts);
>>  int tap_probe_vnet_hdr(int fd);
>> @@ -52,10 +52,10 @@ int tap_probe_has_ufo(int fd);
>>  void tap_fd_set_offload(int fd, int csum, int tso4, int tso6, int ecn,
>> int ufo);
>>  void tap_fd_set_vnet_hdr_len(int fd, int len);
>>
>> -int tap_get_fd(VLANClientState *vc);
>> +int tap_get_fd(NetClientState *vc);
>>
>>  struct vhost_net;
>> -struct vhost_net *tap_get_vhost_net(VLANClientState *vc);
>> +struct vhost_net *tap_get_vhost_net(NetClientState *vc);
>>
>>  int net_init_bridge(QemuOpts *opts, const char *name, NetClientState
>> *peer);
>>
>> diff --git a/net/vde.c b/net/vde.c
>> index 8329be6..48fb010 100644
>> --- a/net/vde.c
>> +++ b/net/vde.c
>> @@ -33,7 +33,7 @@
>>  #include "qemu-option.h"
>>
>>  typedef struct VDEState {
>> -    VLANClientState nc;
>> +    NetClientState nc;
>>      VDECONN *vde;
>>  } VDEState;
>>
>> @@ -49,7 +49,7 @@ static void vde_to_qemu(void *opaque)
>>      }
>>  }
>>
>> -static ssize_t vde_receive(VLANClientState *nc, const uint8_t *buf,
>> size_t size)
>> +static ssize_t vde_receive(NetClientState *nc, const uint8_t *buf, size_t
>> size)
>>  {
>>      VDEState *s = DO_UPCAST(VDEState, nc, nc);
>>      ssize_t ret;
>> @@ -61,7 +61,7 @@ static ssize_t vde_receive(VLANClientState *nc, const
>> uint8_t *buf, size_t size)
>>      return ret;
>>  }
>>
>> -static void vde_cleanup(VLANClientState *nc)
>> +static void vde_cleanup(NetClientState *nc)
>>  {
>>      VDEState *s = DO_UPCAST(VDEState, nc, nc);
>>      qemu_set_fd_handler(vde_datafd(s->vde), NULL, NULL, NULL);
>> @@ -75,11 +75,11 @@ static NetClientInfo net_vde_info = {
>>      .cleanup = vde_cleanup,
>>  };
>>
>> -static int net_vde_init(VLANClientState *peer, const char *model,
>> +static int net_vde_init(NetClientState *peer, const char *model,
>>                          const char *name, const char *sock,
>>                          int port, const char *group, int mode)
>>  {
>> -    VLANClientState *nc;
>> +    NetClientState *nc;
>>      VDEState *s;
>>      VDECONN *vde;
>>      char *init_group = (char *)group;
>> @@ -110,7 +110,7 @@ static int net_vde_init(VLANClientState *peer, const
>> char *model,
>>      return 0;
>>  }
>>
>> -int net_init_vde(QemuOpts *opts, const char *name, VLANClientState *peer)
>> +int net_init_vde(QemuOpts *opts, const char *name, NetClientState *peer)
>>  {
>>      const char *sock;
>>      const char *group;
>> diff --git a/net/vde.h b/net/vde.h
>> index 5e8ae58..4d504b9 100644
>> --- a/net/vde.h
>> +++ b/net/vde.h
>> @@ -29,7 +29,7 @@
>>
>>  #ifdef CONFIG_VDE
>>
>> -int net_init_vde(QemuOpts *opts, const char *name, VLANClientState
>> *peer);
>> +int net_init_vde(QemuOpts *opts, const char *name, NetClientState *peer);
>>
>>  #endif /* CONFIG_VDE */
>>
>> diff --git a/qemu-common.h b/qemu-common.h
>> index 3c7c2fa..e58f8c8 100644
>> --- a/qemu-common.h
>> +++ b/qemu-common.h
>> @@ -235,7 +235,7 @@ typedef struct TextConsole TextConsole;
>>  typedef TextConsole QEMUConsole;
>>  typedef struct CharDriverState CharDriverState;
>>  typedef struct MACAddr MACAddr;
>> -typedef struct VLANClientState VLANClientState;
>> +typedef struct NetClientState NetClientState;
>>  typedef struct i2c_bus i2c_bus;
>>  typedef struct ISABus ISABus;
>>  typedef struct SMBusDevice SMBusDevice;
>
>

Patch

diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c
index e2140ae..60ee1fd 100644
--- a/hw/cadence_gem.c
+++ b/hw/cadence_gem.c
@@ -405,7 +405,7 @@  static void phy_update_link(GemState *s)
     }
 }
 
-static int gem_can_receive(VLANClientState *nc)
+static int gem_can_receive(NetClientState *nc)
 {
     GemState *s;
 
@@ -602,7 +602,7 @@  static int gem_mac_address_filter(GemState *s, const uint8_t *packet)
  * gem_receive:
  * Fit a packet handed to us by QEMU into the receive descriptor ring.
  */
-static ssize_t gem_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     unsigned    desc[2];
     target_phys_addr_t packet_desc_addr, last_desc_addr;
@@ -1146,7 +1146,7 @@  static const MemoryRegionOps gem_ops = {
     .endianness = DEVICE_LITTLE_ENDIAN,
 };
 
-static void gem_cleanup(VLANClientState *nc)
+static void gem_cleanup(NetClientState *nc)
 {
     GemState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -1154,7 +1154,7 @@  static void gem_cleanup(VLANClientState *nc)
     s->nic = NULL;
 }
 
-static void gem_set_link(VLANClientState *nc)
+static void gem_set_link(NetClientState *nc)
 {
     DB_PRINT("\n");
     phy_update_link(DO_UPCAST(NICState, nc, nc)->opaque);
diff --git a/hw/dp8393x.c b/hw/dp8393x.c
index 017d074..86598b9 100644
--- a/hw/dp8393x.c
+++ b/hw/dp8393x.c
@@ -673,7 +673,7 @@  static const MemoryRegionOps dp8393x_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static int nic_can_receive(VLANClientState *nc)
+static int nic_can_receive(NetClientState *nc)
 {
     dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -722,7 +722,7 @@  static int receive_filter(dp8393xState *s, const uint8_t * buf, int size)
     return -1;
 }
 
-static ssize_t nic_receive(VLANClientState *nc, const uint8_t * buf, size_t size)
+static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size)
 {
     dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
     uint16_t data[10];
@@ -858,7 +858,7 @@  static void nic_reset(void *opaque)
     dp8393x_update_irq(s);
 }
 
-static void nic_cleanup(VLANClientState *nc)
+static void nic_cleanup(NetClientState *nc)
 {
     dp8393xState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/e1000.c b/hw/e1000.c
index 4573f13..8c7fd3b 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -720,7 +720,7 @@  receive_filter(E1000State *s, const uint8_t *buf, int size)
 }
 
 static void
-e1000_set_link_status(VLANClientState *nc)
+e1000_set_link_status(NetClientState *nc)
 {
     E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
     uint32_t old_status = s->mac_reg[STATUS];
@@ -754,7 +754,7 @@  static bool e1000_has_rxbufs(E1000State *s, size_t total_size)
 }
 
 static int
-e1000_can_receive(VLANClientState *nc)
+e1000_can_receive(NetClientState *nc)
 {
     E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -770,7 +770,7 @@  static uint64_t rx_desc_base(E1000State *s)
 }
 
 static ssize_t
-e1000_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
     struct e1000_rx_desc desc;
@@ -1185,7 +1185,7 @@  e1000_mmio_setup(E1000State *d)
 }
 
 static void
-e1000_cleanup(VLANClientState *nc)
+e1000_cleanup(NetClientState *nc)
 {
     E1000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/eepro100.c b/hw/eepro100.c
index 6279ae3..5725ccf 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -1609,7 +1609,7 @@  static const MemoryRegionOps eepro100_ops = {
     .endianness = DEVICE_LITTLE_ENDIAN,
 };
 
-static int nic_can_receive(VLANClientState *nc)
+static int nic_can_receive(NetClientState *nc)
 {
     EEPRO100State *s = DO_UPCAST(NICState, nc, nc)->opaque;
     TRACE(RXTX, logout("%p\n", s));
@@ -1619,7 +1619,7 @@  static int nic_can_receive(VLANClientState *nc)
 #endif
 }
 
-static ssize_t nic_receive(VLANClientState *nc, const uint8_t * buf, size_t size)
+static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size)
 {
     /* TODO:
      * - Magic packets should set bit 30 in power management driver register.
@@ -1824,7 +1824,7 @@  static const VMStateDescription vmstate_eepro100 = {
     }
 };
 
-static void nic_cleanup(VLANClientState *nc)
+static void nic_cleanup(NetClientState *nc)
 {
     EEPRO100State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c
index 16a0637..1ca5849 100644
--- a/hw/etraxfs_eth.c
+++ b/hw/etraxfs_eth.c
@@ -507,12 +507,12 @@  static int eth_match_groupaddr(struct fs_eth *eth, const unsigned char *sa)
 	return match;
 }
 
-static int eth_can_receive(VLANClientState *nc)
+static int eth_can_receive(NetClientState *nc)
 {
 	return 1;
 }
 
-static ssize_t eth_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t eth_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
 	unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 	struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
@@ -549,7 +549,7 @@  static int eth_tx_push(void *opaque, unsigned char *buf, int len, bool eop)
 	return len;
 }
 
-static void eth_set_link(VLANClientState *nc)
+static void eth_set_link(NetClientState *nc)
 {
 	struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
 	D(printf("%s %d\n", __func__, nc->link_down));
@@ -566,7 +566,7 @@  static const MemoryRegionOps eth_ops = {
 	}
 };
 
-static void eth_cleanup(VLANClientState *nc)
+static void eth_cleanup(NetClientState *nc)
 {
 	struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/lan9118.c b/hw/lan9118.c
index 7b4fe87..6a37895 100644
--- a/hw/lan9118.c
+++ b/hw/lan9118.c
@@ -384,7 +384,7 @@  static void phy_update_link(lan9118_state *s)
     phy_update_irq(s);
 }
 
-static void lan9118_set_link(VLANClientState *nc)
+static void lan9118_set_link(NetClientState *nc)
 {
     phy_update_link(DO_UPCAST(NICState, nc, nc)->opaque);
 }
@@ -456,7 +456,7 @@  static void lan9118_reset(DeviceState *d)
     lan9118_reload_eeprom(s);
 }
 
-static int lan9118_can_receive(VLANClientState *nc)
+static int lan9118_can_receive(NetClientState *nc)
 {
     return 1;
 }
@@ -509,7 +509,7 @@  static int lan9118_filter(lan9118_state *s, const uint8_t *addr)
     }
 }
 
-static ssize_t lan9118_receive(VLANClientState *nc, const uint8_t *buf,
+static ssize_t lan9118_receive(NetClientState *nc, const uint8_t *buf,
                                size_t size)
 {
     lan9118_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
@@ -1302,7 +1302,7 @@  static const MemoryRegionOps lan9118_16bit_mem_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static void lan9118_cleanup(VLANClientState *nc)
+static void lan9118_cleanup(NetClientState *nc)
 {
     lan9118_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/lance.c b/hw/lance.c
index ce3d46c..1aedb19 100644
--- a/hw/lance.c
+++ b/hw/lance.c
@@ -85,7 +85,7 @@  static const MemoryRegionOps lance_mem_ops = {
     },
 };
 
-static void lance_cleanup(VLANClientState *nc)
+static void lance_cleanup(NetClientState *nc)
 {
     PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c
index ae37bef..3d87c78 100644
--- a/hw/mcf_fec.c
+++ b/hw/mcf_fec.c
@@ -351,13 +351,13 @@  static void mcf_fec_write(void *opaque, target_phys_addr_t addr,
     mcf_fec_update(s);
 }
 
-static int mcf_fec_can_receive(VLANClientState *nc)
+static int mcf_fec_can_receive(NetClientState *nc)
 {
     mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
     return s->rx_enabled;
 }
 
-static ssize_t mcf_fec_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
     mcf_fec_bd bd;
@@ -439,7 +439,7 @@  static const MemoryRegionOps mcf_fec_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static void mcf_fec_cleanup(VLANClientState *nc)
+static void mcf_fec_cleanup(NetClientState *nc)
 {
     mcf_fec_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/milkymist-minimac2.c b/hw/milkymist-minimac2.c
index 70bf336..0369894 100644
--- a/hw/milkymist-minimac2.c
+++ b/hw/milkymist-minimac2.c
@@ -278,7 +278,7 @@  static void update_rx_interrupt(MilkymistMinimac2State *s)
     }
 }
 
-static ssize_t minimac2_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t minimac2_rx(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -408,7 +408,7 @@  static const MemoryRegionOps minimac2_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static int minimac2_can_rx(VLANClientState *nc)
+static int minimac2_can_rx(NetClientState *nc)
 {
     MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -422,7 +422,7 @@  static int minimac2_can_rx(VLANClientState *nc)
     return 0;
 }
 
-static void minimac2_cleanup(VLANClientState *nc)
+static void minimac2_cleanup(NetClientState *nc)
 {
     MilkymistMinimac2State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/mipsnet.c b/hw/mipsnet.c
index 3107246..9cde90a 100644
--- a/hw/mipsnet.c
+++ b/hw/mipsnet.c
@@ -62,7 +62,7 @@  static int mipsnet_buffer_full(MIPSnetState *s)
     return 0;
 }
 
-static int mipsnet_can_receive(VLANClientState *nc)
+static int mipsnet_can_receive(NetClientState *nc)
 {
     MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -71,7 +71,7 @@  static int mipsnet_can_receive(VLANClientState *nc)
     return !mipsnet_buffer_full(s);
 }
 
-static ssize_t mipsnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t mipsnet_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -209,7 +209,7 @@  static const VMStateDescription vmstate_mipsnet = {
     }
 };
 
-static void mipsnet_cleanup(VLANClientState *nc)
+static void mipsnet_cleanup(NetClientState *nc)
 {
     MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/musicpal.c b/hw/musicpal.c
index f14f20d..10d4f38 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -182,12 +182,12 @@  static void eth_rx_desc_get(uint32_t addr, mv88w8618_rx_desc *desc)
     le32_to_cpus(&desc->next);
 }
 
-static int eth_can_receive(VLANClientState *nc)
+static int eth_can_receive(NetClientState *nc)
 {
     return 1;
 }
 
-static ssize_t eth_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t eth_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     mv88w8618_eth_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
     uint32_t desc_addr;
@@ -366,7 +366,7 @@  static const MemoryRegionOps mv88w8618_eth_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static void eth_cleanup(VLANClientState *nc)
+static void eth_cleanup(NetClientState *nc)
 {
     mv88w8618_eth_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
index a4a783a..ff4b885 100644
--- a/hw/ne2000-isa.c
+++ b/hw/ne2000-isa.c
@@ -36,7 +36,7 @@  typedef struct ISANE2000State {
     NE2000State ne2000;
 } ISANE2000State;
 
-static void isa_ne2000_cleanup(VLANClientState *nc)
+static void isa_ne2000_cleanup(NetClientState *nc)
 {
     NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/ne2000.c b/hw/ne2000.c
index d02e60c..2339725 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -165,7 +165,7 @@  static int ne2000_buffer_full(NE2000State *s)
     return 0;
 }
 
-int ne2000_can_receive(VLANClientState *nc)
+int ne2000_can_receive(NetClientState *nc)
 {
     NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -176,7 +176,7 @@  int ne2000_can_receive(VLANClientState *nc)
 
 #define MIN_BUF_SIZE 60
 
-ssize_t ne2000_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
+ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
 {
     NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
     int size = size_;
@@ -703,7 +703,7 @@  void ne2000_setup_io(NE2000State *s, unsigned size)
     memory_region_init_io(&s->io, &ne2000_ops, s, "ne2000", size);
 }
 
-static void ne2000_cleanup(VLANClientState *nc)
+static void ne2000_cleanup(NetClientState *nc)
 {
     NE2000State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/ne2000.h b/hw/ne2000.h
index 5fee052..6c196a2 100644
--- a/hw/ne2000.h
+++ b/hw/ne2000.h
@@ -31,5 +31,5 @@  typedef struct NE2000State {
 void ne2000_setup_io(NE2000State *s, unsigned size);
 extern const VMStateDescription vmstate_ne2000;
 void ne2000_reset(NE2000State *s);
-int ne2000_can_receive(VLANClientState *vc);
-ssize_t ne2000_receive(VLANClientState *vc, const uint8_t *buf, size_t size_);
+int ne2000_can_receive(NetClientState *vc);
+ssize_t ne2000_receive(NetClientState *vc, const uint8_t *buf, size_t size_);
diff --git a/hw/opencores_eth.c b/hw/opencores_eth.c
index 350f731..990ec37 100644
--- a/hw/opencores_eth.c
+++ b/hw/opencores_eth.c
@@ -311,7 +311,7 @@  static void open_eth_int_source_write(OpenEthState *s,
             s->regs[INT_SOURCE] & s->regs[INT_MASK]);
 }
 
-static void open_eth_set_link_status(VLANClientState *nc)
+static void open_eth_set_link_status(NetClientState *nc)
 {
     OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -342,7 +342,7 @@  static void open_eth_reset(void *opaque)
     open_eth_set_link_status(&s->nic->nc);
 }
 
-static int open_eth_can_receive(VLANClientState *nc)
+static int open_eth_can_receive(NetClientState *nc)
 {
     OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -351,7 +351,7 @@  static int open_eth_can_receive(VLANClientState *nc)
         (rx_desc(s)->len_flags & RXD_E);
 }
 
-static ssize_t open_eth_receive(VLANClientState *nc,
+static ssize_t open_eth_receive(NetClientState *nc,
         const uint8_t *buf, size_t size)
 {
     OpenEthState *s = DO_UPCAST(NICState, nc, nc)->opaque;
@@ -462,7 +462,7 @@  static ssize_t open_eth_receive(VLANClientState *nc,
     return size;
 }
 
-static void open_eth_cleanup(VLANClientState *nc)
+static void open_eth_cleanup(NetClientState *nc)
 {
 }
 
diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
index 34d73aa..8c82667 100644
--- a/hw/pcnet-pci.c
+++ b/hw/pcnet-pci.c
@@ -264,7 +264,7 @@  static void pci_physical_memory_read(void *dma_opaque, target_phys_addr_t addr,
     pci_dma_read(dma_opaque, addr, buf, len);
 }
 
-static void pci_pcnet_cleanup(VLANClientState *nc)
+static void pci_pcnet_cleanup(NetClientState *nc)
 {
     PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/pcnet.c b/hw/pcnet.c
index d769b08..40820b3 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1004,7 +1004,7 @@  static int pcnet_tdte_poll(PCNetState *s)
     return !!(CSR_CXST(s) & 0x8000);
 }
 
-int pcnet_can_receive(VLANClientState *nc)
+int pcnet_can_receive(NetClientState *nc)
 {
     PCNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
     if (CSR_STOP(s) || CSR_SPND(s))
@@ -1015,7 +1015,7 @@  int pcnet_can_receive(VLANClientState *nc)
 
 #define MIN_BUF_SIZE 60
 
-ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
+ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
 {
     PCNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
     int is_padr = 0, is_bcast = 0, is_ladr = 0;
@@ -1197,7 +1197,7 @@  ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
     return size_;
 }
 
-void pcnet_set_link_status(VLANClientState *nc)
+void pcnet_set_link_status(NetClientState *nc)
 {
     PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/pcnet.h b/hw/pcnet.h
index 803a2cc..d0af54a 100644
--- a/hw/pcnet.h
+++ b/hw/pcnet.h
@@ -57,9 +57,9 @@  uint32_t pcnet_ioport_readw(void *opaque, uint32_t addr);
 void pcnet_ioport_writel(void *opaque, uint32_t addr, uint32_t val);
 uint32_t pcnet_ioport_readl(void *opaque, uint32_t addr);
 uint32_t pcnet_bcr_readw(PCNetState *s, uint32_t rap);
-int pcnet_can_receive(VLANClientState *nc);
-ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_);
-void pcnet_set_link_status(VLANClientState *nc);
+int pcnet_can_receive(NetClientState *nc);
+ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_);
+void pcnet_set_link_status(NetClientState *nc);
 void pcnet_common_cleanup(PCNetState *d);
 int pcnet_common_init(DeviceState *dev, PCNetState *s, NetClientInfo *info);
 extern const VMStateDescription vmstate_pcnet;
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index 6624dd5..6fd3163 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -554,7 +554,7 @@  PropertyInfo qdev_prop_chr = {
 
 static int parse_netdev(DeviceState *dev, const char *str, void **ptr)
 {
-    VLANClientState *netdev = qemu_find_netdev(str);
+    NetClientState *netdev = qemu_find_netdev(str);
 
     if (netdev == NULL) {
         return -ENOENT;
@@ -568,7 +568,7 @@  static int parse_netdev(DeviceState *dev, const char *str, void **ptr)
 
 static const char *print_netdev(void *ptr)
 {
-    VLANClientState *netdev = ptr;
+    NetClientState *netdev = ptr;
 
     return netdev->name ? netdev->name : "";
 }
@@ -991,7 +991,7 @@  void qdev_prop_set_chr(DeviceState *dev, const char *name, CharDriverState *valu
     assert_no_error(errp);
 }
 
-void qdev_prop_set_netdev(DeviceState *dev, const char *name, VLANClientState *value)
+void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value)
 {
     Error *errp = NULL;
     assert(!value || value->name);
diff --git a/hw/qdev.h b/hw/qdev.h
index 0510eb7..33d4f6e 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -273,7 +273,7 @@  extern PropertyInfo qdev_prop_blocksize;
 #define DEFINE_PROP_STRING(_n, _s, _f)             \
     DEFINE_PROP(_n, _s, _f, qdev_prop_string, char*)
 #define DEFINE_PROP_NETDEV(_n, _s, _f)             \
-    DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, VLANClientState*)
+    DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NetClientState*)
 #define DEFINE_PROP_DRIVE(_n, _s, _f) \
     DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *)
 #define DEFINE_PROP_MACADDR(_n, _s, _f)         \
@@ -299,7 +299,7 @@  void qdev_prop_set_int32(DeviceState *dev, const char *name, int32_t value);
 void qdev_prop_set_uint64(DeviceState *dev, const char *name, uint64_t value);
 void qdev_prop_set_string(DeviceState *dev, const char *name, char *value);
 void qdev_prop_set_chr(DeviceState *dev, const char *name, CharDriverState *value);
-void qdev_prop_set_netdev(DeviceState *dev, const char *name, VLANClientState *value);
+void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value);
 int qdev_prop_set_drive(DeviceState *dev, const char *name, BlockDriverState *value) QEMU_WARN_UNUSED_RESULT;
 void qdev_prop_set_drive_nofail(DeviceState *dev, const char *name, BlockDriverState *value);
 void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value);
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index eb22d04..1e4f4eb 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -781,7 +781,7 @@  static inline dma_addr_t rtl8139_addr64(uint32_t low, uint32_t high)
 #endif
 }
 
-static int rtl8139_can_receive(VLANClientState *nc)
+static int rtl8139_can_receive(NetClientState *nc)
 {
     RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
     int avail;
@@ -806,7 +806,7 @@  static int rtl8139_can_receive(VLANClientState *nc)
     }
 }
 
-static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_t size_, int do_interrupt)
+static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t size_, int do_interrupt)
 {
     RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
     /* size is the length of the buffer passed to the driver */
@@ -1185,7 +1185,7 @@  static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_
     return size_;
 }
 
-static ssize_t rtl8139_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t rtl8139_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     return rtl8139_do_receive(nc, buf, size, 1);
 }
@@ -3429,7 +3429,7 @@  static void rtl8139_timer(void *opaque)
     rtl8139_set_next_tctr_time(s, qemu_get_clock_ns(vm_clock));
 }
 
-static void rtl8139_cleanup(VLANClientState *nc)
+static void rtl8139_cleanup(NetClientState *nc)
 {
     RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/smc91c111.c b/hw/smc91c111.c
index 1a5213f..aaa2c60 100644
--- a/hw/smc91c111.c
+++ b/hw/smc91c111.c
@@ -628,7 +628,7 @@  static uint32_t smc91c111_readl(void *opaque, target_phys_addr_t offset)
     return val;
 }
 
-static int smc91c111_can_receive(VLANClientState *nc)
+static int smc91c111_can_receive(NetClientState *nc)
 {
     smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -639,7 +639,7 @@  static int smc91c111_can_receive(VLANClientState *nc)
     return 1;
 }
 
-static ssize_t smc91c111_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t smc91c111_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
     int status;
@@ -728,7 +728,7 @@  static const MemoryRegionOps smc91c111_mem_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static void smc91c111_cleanup(VLANClientState *nc)
+static void smc91c111_cleanup(NetClientState *nc)
 {
     smc91c111_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/spapr_llan.c b/hw/spapr_llan.c
index 8313043..76fa0b5 100644
--- a/hw/spapr_llan.c
+++ b/hw/spapr_llan.c
@@ -83,14 +83,14 @@  typedef struct VIOsPAPRVLANDevice {
     target_ulong rxq_ptr;
 } VIOsPAPRVLANDevice;
 
-static int spapr_vlan_can_receive(VLANClientState *nc)
+static int spapr_vlan_can_receive(NetClientState *nc)
 {
     VIOsPAPRVLANDevice *dev = DO_UPCAST(NICState, nc, nc)->opaque;
 
     return (dev->isopen && dev->rx_bufs > 0);
 }
 
-static ssize_t spapr_vlan_receive(VLANClientState *nc, const uint8_t *buf,
+static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
                                   size_t size)
 {
     VIOsPAPRDevice *sdev = DO_UPCAST(NICState, nc, nc)->opaque;
diff --git a/hw/stellaris_enet.c b/hw/stellaris_enet.c
index fbe99cb..fcc6cd0 100644
--- a/hw/stellaris_enet.c
+++ b/hw/stellaris_enet.c
@@ -78,7 +78,7 @@  static void stellaris_enet_update(stellaris_enet_state *s)
 }
 
 /* TODO: Implement MAC address filtering.  */
-static ssize_t stellaris_enet_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t stellaris_enet_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
     int n;
@@ -120,7 +120,7 @@  static ssize_t stellaris_enet_receive(VLANClientState *nc, const uint8_t *buf, s
     return size;
 }
 
-static int stellaris_enet_can_receive(VLANClientState *nc)
+static int stellaris_enet_can_receive(NetClientState *nc)
 {
     stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -381,7 +381,7 @@  static int stellaris_enet_load(QEMUFile *f, void *opaque, int version_id)
     return 0;
 }
 
-static void stellaris_enet_cleanup(VLANClientState *nc)
+static void stellaris_enet_cleanup(NetClientState *nc)
 {
     stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
index 5d2f098..a1d3495 100644
--- a/hw/usb/dev-network.c
+++ b/hw/usb/dev-network.c
@@ -1247,7 +1247,7 @@  static int usb_net_handle_data(USBDevice *dev, USBPacket *p)
     return ret;
 }
 
-static ssize_t usbnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t usbnet_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
     struct rndis_packet_msg_type *msg;
@@ -1285,7 +1285,7 @@  static ssize_t usbnet_receive(VLANClientState *nc, const uint8_t *buf, size_t si
     return size;
 }
 
-static int usbnet_can_receive(VLANClientState *nc)
+static int usbnet_can_receive(NetClientState *nc)
 {
     USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -1296,7 +1296,7 @@  static int usbnet_can_receive(VLANClientState *nc)
     return !s->in_len;
 }
 
-static void usbnet_cleanup(VLANClientState *nc)
+static void usbnet_cleanup(NetClientState *nc)
 {
     USBNetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/vhost_net.c b/hw/vhost_net.c
index f672e9d..c3e6546 100644
--- a/hw/vhost_net.c
+++ b/hw/vhost_net.c
@@ -42,7 +42,7 @@  struct vhost_net {
     struct vhost_dev dev;
     struct vhost_virtqueue vqs[2];
     int backend;
-    VLANClientState *vc;
+    NetClientState *vc;
 };
 
 unsigned vhost_net_get_features(struct vhost_net *net, unsigned features)
@@ -80,7 +80,7 @@  void vhost_net_ack_features(struct vhost_net *net, unsigned features)
     }
 }
 
-static int vhost_net_get_fd(VLANClientState *backend)
+static int vhost_net_get_fd(NetClientState *backend)
 {
     switch (backend->info->type) {
     case NET_CLIENT_TYPE_TAP:
@@ -91,7 +91,7 @@  static int vhost_net_get_fd(VLANClientState *backend)
     }
 }
 
-struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd,
+struct vhost_net *vhost_net_init(NetClientState *backend, int devfd,
                                  bool force)
 {
     int r;
@@ -214,7 +214,7 @@  void vhost_net_cleanup(struct vhost_net *net)
     g_free(net);
 }
 #else
-struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd,
+struct vhost_net *vhost_net_init(NetClientState *backend, int devfd,
                                  bool force)
 {
     error_report("vhost-net support is not compiled in");
diff --git a/hw/vhost_net.h b/hw/vhost_net.h
index 91e40b1..a9db234 100644
--- a/hw/vhost_net.h
+++ b/hw/vhost_net.h
@@ -6,7 +6,7 @@ 
 struct vhost_net;
 typedef struct vhost_net VHostNetState;
 
-VHostNetState *vhost_net_init(VLANClientState *backend, int devfd, bool force);
+VHostNetState *vhost_net_init(NetClientState *backend, int devfd, bool force);
 
 bool vhost_net_query(VHostNetState *net, VirtIODevice *dev);
 int vhost_net_start(VHostNetState *net, VirtIODevice *dev);
diff --git a/hw/virtio-net.c b/hw/virtio-net.c
index 3f190d4..a73c523 100644
--- a/hw/virtio-net.c
+++ b/hw/virtio-net.c
@@ -163,7 +163,7 @@  static void virtio_net_set_status(struct VirtIODevice *vdev, uint8_t status)
     }
 }
 
-static void virtio_net_set_link_status(VLANClientState *nc)
+static void virtio_net_set_link_status(NetClientState *nc)
 {
     VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
     uint16_t old_status = n->status;
@@ -453,7 +453,7 @@  static void virtio_net_handle_rx(VirtIODevice *vdev, VirtQueue *vq)
     qemu_notify_event();
 }
 
-static int virtio_net_can_receive(VLANClientState *nc)
+static int virtio_net_can_receive(NetClientState *nc)
 {
     VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
     if (!n->vdev.vm_running) {
@@ -593,7 +593,7 @@  static int receive_filter(VirtIONet *n, const uint8_t *buf, int size)
     return 0;
 }
 
-static ssize_t virtio_net_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
     struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL;
@@ -690,7 +690,7 @@  static ssize_t virtio_net_receive(VLANClientState *nc, const uint8_t *buf, size_
 
 static int32_t virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq);
 
-static void virtio_net_tx_complete(VLANClientState *nc, ssize_t len)
+static void virtio_net_tx_complete(NetClientState *nc, ssize_t len)
 {
     VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -980,7 +980,7 @@  static int virtio_net_load(QEMUFile *f, void *opaque, int version_id)
     return 0;
 }
 
-static void virtio_net_cleanup(VLANClientState *nc)
+static void virtio_net_cleanup(NetClientState *nc)
 {
     VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/hw/xen_nic.c b/hw/xen_nic.c
index 85526fe..6391a04 100644
--- a/hw/xen_nic.c
+++ b/hw/xen_nic.c
@@ -236,7 +236,7 @@  static void net_rx_response(struct XenNetDev *netdev,
 
 #define NET_IP_ALIGN 2
 
-static int net_rx_ok(VLANClientState *nc)
+static int net_rx_ok(NetClientState *nc)
 {
     struct XenNetDev *netdev = DO_UPCAST(NICState, nc, nc)->opaque;
     RING_IDX rc, rp;
@@ -257,7 +257,7 @@  static int net_rx_ok(VLANClientState *nc)
     return 1;
 }
 
-static ssize_t net_rx_packet(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     struct XenNetDev *netdev = DO_UPCAST(NICState, nc, nc)->opaque;
     netif_rx_request_t rxreq;
diff --git a/hw/xgmac.c b/hw/xgmac.c
index dd4bdc4..b2cae49 100644
--- a/hw/xgmac.c
+++ b/hw/xgmac.c
@@ -308,7 +308,7 @@  static const MemoryRegionOps enet_mem_ops = {
     .endianness = DEVICE_LITTLE_ENDIAN,
 };
 
-static int eth_can_rx(VLANClientState *nc)
+static int eth_can_rx(NetClientState *nc)
 {
     struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -316,7 +316,7 @@  static int eth_can_rx(VLANClientState *nc)
     return s->regs[DMA_CONTROL] & DMA_CONTROL_SR;
 }
 
-static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
     static const unsigned char sa_bcast[6] = {0xff, 0xff, 0xff,
@@ -364,7 +364,7 @@  out:
     return ret;
 }
 
-static void eth_cleanup(VLANClientState *nc)
+static void eth_cleanup(NetClientState *nc)
 {
     struct XgmacState *s = DO_UPCAST(NICState, nc, nc)->opaque;
     s->nic = NULL;
diff --git a/hw/xilinx_axienet.c b/hw/xilinx_axienet.c
index 2e8d8a5..984071a 100644
--- a/hw/xilinx_axienet.c
+++ b/hw/xilinx_axienet.c
@@ -612,7 +612,7 @@  static const MemoryRegionOps enet_ops = {
     .endianness = DEVICE_LITTLE_ENDIAN,
 };
 
-static int eth_can_rx(VLANClientState *nc)
+static int eth_can_rx(NetClientState *nc)
 {
     struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
@@ -635,7 +635,7 @@  static int enet_match_addr(const uint8_t *buf, uint32_t f0, uint32_t f1)
     return match;
 }
 
-static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
     static const unsigned char sa_bcast[6] = {0xff, 0xff, 0xff,
@@ -780,7 +780,7 @@  static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
     return size;
 }
 
-static void eth_cleanup(VLANClientState *nc)
+static void eth_cleanup(NetClientState *nc)
 {
     /* FIXME.  */
     struct XilinxAXIEnet *s = DO_UPCAST(NICState, nc, nc)->opaque;
diff --git a/hw/xilinx_ethlite.c b/hw/xilinx_ethlite.c
index affbb8b..f261d89 100644
--- a/hw/xilinx_ethlite.c
+++ b/hw/xilinx_ethlite.c
@@ -160,7 +160,7 @@  static const MemoryRegionOps eth_ops = {
     }
 };
 
-static int eth_can_rx(VLANClientState *nc)
+static int eth_can_rx(NetClientState *nc)
 {
     struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
     int r;
@@ -168,7 +168,7 @@  static int eth_can_rx(VLANClientState *nc)
     return r;
 }
 
-static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
     unsigned int rxbase = s->rxbuf * (0x800 / 4);
@@ -194,7 +194,7 @@  static ssize_t eth_rx(VLANClientState *nc, const uint8_t *buf, size_t size)
     return size;
 }
 
-static void eth_cleanup(VLANClientState *nc)
+static void eth_cleanup(NetClientState *nc)
 {
     struct xlx_ethlite *s = DO_UPCAST(NICState, nc, nc)->opaque;
 
diff --git a/net.c b/net.c
index d3a685e..b35339a 100644
--- a/net.c
+++ b/net.c
@@ -44,7 +44,7 @@ 
 # define CONFIG_NET_BRIDGE
 #endif
 
-static QTAILQ_HEAD(, VLANClientState) net_clients;
+static QTAILQ_HEAD(, NetClientState) net_clients;
 
 int default_net = 1;
 
@@ -129,7 +129,7 @@  int parse_host_port(struct sockaddr_in *saddr, const char *str)
     return 0;
 }
 
-void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6])
+void qemu_format_nic_info_str(NetClientState *vc, uint8_t macaddr[6])
 {
     snprintf(vc->info_str, sizeof(vc->info_str),
              "model=%s,macaddr=%02x:%02x:%02x:%02x:%02x:%02x",
@@ -159,9 +159,9 @@  void qemu_macaddr_default_if_unset(MACAddr *macaddr)
  * Only net clients created with the legacy -net option need this.  Naming is
  * mandatory for net clients created with -netdev.
  */
-static char *assign_name(VLANClientState *vc1, const char *model)
+static char *assign_name(NetClientState *vc1, const char *model)
 {
-    VLANClientState *vc;
+    NetClientState *vc;
     char buf[256];
     int id = 0;
 
@@ -181,25 +181,25 @@  static char *assign_name(VLANClientState *vc1, const char *model)
     return g_strdup(buf);
 }
 
-static ssize_t qemu_deliver_packet(VLANClientState *sender,
+static ssize_t qemu_deliver_packet(NetClientState *sender,
                                    unsigned flags,
                                    const uint8_t *data,
                                    size_t size,
                                    void *opaque);
-static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
+static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
                                        unsigned flags,
                                        const struct iovec *iov,
                                        int iovcnt,
                                        void *opaque);
 
-VLANClientState *qemu_new_net_client(NetClientInfo *info,
-                                     VLANClientState *peer,
-                                     const char *model,
-                                     const char *name)
+NetClientState *qemu_new_net_client(NetClientInfo *info,
+                                    NetClientState *peer,
+                                    const char *model,
+                                    const char *name)
 {
-    VLANClientState *vc;
+    NetClientState *vc;
 
-    assert(info->size >= sizeof(VLANClientState));
+    assert(info->size >= sizeof(NetClientState));
 
     vc = g_malloc0(info->size);
 
@@ -231,7 +231,7 @@  NICState *qemu_new_nic(NetClientInfo *info,
                        const char *name,
                        void *opaque)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
     NICState *nic;
 
     assert(info->type == NET_CLIENT_TYPE_NIC);
@@ -246,7 +246,7 @@  NICState *qemu_new_nic(NetClientInfo *info,
     return nic;
 }
 
-static void qemu_cleanup_vlan_client(VLANClientState *vc)
+static void qemu_cleanup_vlan_client(NetClientState *vc)
 {
     QTAILQ_REMOVE(&net_clients, vc, next);
 
@@ -255,7 +255,7 @@  static void qemu_cleanup_vlan_client(VLANClientState *vc)
     }
 }
 
-static void qemu_free_vlan_client(VLANClientState *vc)
+static void qemu_free_vlan_client(NetClientState *vc)
 {
     if (vc->send_queue) {
         qemu_del_net_queue(vc->send_queue);
@@ -268,7 +268,7 @@  static void qemu_free_vlan_client(VLANClientState *vc)
     g_free(vc);
 }
 
-void qemu_del_vlan_client(VLANClientState *vc)
+void qemu_del_vlan_client(NetClientState *vc)
 {
     /* If there is a peer NIC, delete and cleanup client, but do not free. */
     if (vc->peer && vc->peer->info->type == NET_CLIENT_TYPE_NIC) {
@@ -300,7 +300,7 @@  void qemu_del_vlan_client(VLANClientState *vc)
 
 void qemu_foreach_nic(qemu_nic_foreach func, void *opaque)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
 
     QTAILQ_FOREACH(nc, &net_clients, next) {
         if (nc->info->type == NET_CLIENT_TYPE_NIC) {
@@ -309,7 +309,7 @@  void qemu_foreach_nic(qemu_nic_foreach func, void *opaque)
     }
 }
 
-int qemu_can_send_packet(VLANClientState *sender)
+int qemu_can_send_packet(NetClientState *sender)
 {
     if (!sender->peer) {
         return 1;
@@ -324,13 +324,13 @@  int qemu_can_send_packet(VLANClientState *sender)
     return 1;
 }
 
-static ssize_t qemu_deliver_packet(VLANClientState *sender,
+static ssize_t qemu_deliver_packet(NetClientState *sender,
                                    unsigned flags,
                                    const uint8_t *data,
                                    size_t size,
                                    void *opaque)
 {
-    VLANClientState *vc = opaque;
+    NetClientState *vc = opaque;
     ssize_t ret;
 
     if (vc->link_down) {
@@ -354,7 +354,7 @@  static ssize_t qemu_deliver_packet(VLANClientState *sender,
     return ret;
 }
 
-void qemu_purge_queued_packets(VLANClientState *vc)
+void qemu_purge_queued_packets(NetClientState *vc)
 {
     if (!vc->peer) {
         return;
@@ -363,14 +363,14 @@  void qemu_purge_queued_packets(VLANClientState *vc)
     qemu_net_queue_purge(vc->peer->send_queue, vc);
 }
 
-void qemu_flush_queued_packets(VLANClientState *vc)
+void qemu_flush_queued_packets(NetClientState *vc)
 {
     vc->receive_disabled = 0;
 
     qemu_net_queue_flush(vc->send_queue);
 }
 
-static ssize_t qemu_send_packet_async_with_flags(VLANClientState *sender,
+static ssize_t qemu_send_packet_async_with_flags(NetClientState *sender,
                                                  unsigned flags,
                                                  const uint8_t *buf, int size,
                                                  NetPacketSent *sent_cb)
@@ -391,7 +391,7 @@  static ssize_t qemu_send_packet_async_with_flags(VLANClientState *sender,
     return qemu_net_queue_send(queue, sender, flags, buf, size, sent_cb);
 }
 
-ssize_t qemu_send_packet_async(VLANClientState *sender,
+ssize_t qemu_send_packet_async(NetClientState *sender,
                                const uint8_t *buf, int size,
                                NetPacketSent *sent_cb)
 {
@@ -399,18 +399,18 @@  ssize_t qemu_send_packet_async(VLANClientState *sender,
                                              buf, size, sent_cb);
 }
 
-void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size)
+void qemu_send_packet(NetClientState *vc, const uint8_t *buf, int size)
 {
     qemu_send_packet_async(vc, buf, size, NULL);
 }
 
-ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int size)
+ssize_t qemu_send_packet_raw(NetClientState *vc, const uint8_t *buf, int size)
 {
     return qemu_send_packet_async_with_flags(vc, QEMU_NET_PACKET_FLAG_RAW,
                                              buf, size, NULL);
 }
 
-static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov,
+static ssize_t vc_sendv_compat(NetClientState *vc, const struct iovec *iov,
                                int iovcnt)
 {
     uint8_t buffer[4096];
@@ -421,13 +421,13 @@  static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov,
     return vc->info->receive(vc, buffer, offset);
 }
 
-static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
+static ssize_t qemu_deliver_packet_iov(NetClientState *sender,
                                        unsigned flags,
                                        const struct iovec *iov,
                                        int iovcnt,
                                        void *opaque)
 {
-    VLANClientState *vc = opaque;
+    NetClientState *vc = opaque;
 
     if (vc->link_down) {
         return iov_size(iov, iovcnt);
@@ -440,7 +440,7 @@  static ssize_t qemu_deliver_packet_iov(VLANClientState *sender,
     }
 }
 
-ssize_t qemu_sendv_packet_async(VLANClientState *sender,
+ssize_t qemu_sendv_packet_async(NetClientState *sender,
                                 const struct iovec *iov, int iovcnt,
                                 NetPacketSent *sent_cb)
 {
@@ -458,14 +458,14 @@  ssize_t qemu_sendv_packet_async(VLANClientState *sender,
 }
 
 ssize_t
-qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov, int iovcnt)
+qemu_sendv_packet(NetClientState *vc, const struct iovec *iov, int iovcnt)
 {
     return qemu_sendv_packet_async(vc, iov, iovcnt, NULL);
 }
 
-VLANClientState *qemu_find_netdev(const char *id)
+NetClientState *qemu_find_netdev(const char *id)
 {
-    VLANClientState *vc;
+    NetClientState *vc;
 
     QTAILQ_FOREACH(vc, &net_clients, next) {
         if (vc->info->type == NET_CLIENT_TYPE_NIC)
@@ -549,7 +549,7 @@  int net_handle_fd_param(Monitor *mon, const char *param)
     return fd;
 }
 
-static int net_init_nic(QemuOpts *opts, const char *name, VLANClientState *peer)
+static int net_init_nic(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     int idx;
     NICInfo *nd;
@@ -623,7 +623,7 @@  static int net_init_nic(QemuOpts *opts, const char *name, VLANClientState *peer)
 
 typedef int (*net_client_init_func)(QemuOpts *opts,
                                     const char *name,
-                                    VLANClientState *peer);
+                                    NetClientState *peer);
 
 /* magic number, but compiler will warn if too small */
 #define NET_MAX_DESC 20
@@ -937,7 +937,7 @@  int net_client_init(QemuOpts *opts, int is_netdev, Error **errp)
         if (net_client_types[i].type != NULL &&
             !strcmp(net_client_types[i].type, type)) {
             Error *local_err = NULL;
-            VLANClientState *peer = NULL;
+            NetClientState *peer = NULL;
             int ret;
 
             qemu_opts_validate(opts, &net_client_types[i].desc[0], &local_err);
@@ -1023,7 +1023,7 @@  void net_host_device_add(Monitor *mon, const QDict *qdict)
 
 void net_host_device_remove(Monitor *mon, const QDict *qdict)
 {
-    VLANClientState *vc;
+    NetClientState *vc;
     int vlan_id = qdict_get_int(qdict, "vlan_id");
     const char *device = qdict_get_str(qdict, "device");
 
@@ -1075,7 +1075,7 @@  exit_err:
 
 void qmp_netdev_del(const char *id, Error **errp)
 {
-    VLANClientState *vc;
+    NetClientState *vc;
 
     vc = qemu_find_netdev(id);
     if (!vc) {
@@ -1087,7 +1087,7 @@  void qmp_netdev_del(const char *id, Error **errp)
     qemu_opts_del(qemu_opts_find(qemu_find_opts_err("netdev", errp), id));
 }
 
-static void print_net_client(Monitor *mon, VLANClientState *vc)
+static void print_net_client(Monitor *mon, NetClientState *vc)
 {
     monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
                    net_client_types[vc->info->type].type, vc->info_str);
@@ -1095,7 +1095,7 @@  static void print_net_client(Monitor *mon, VLANClientState *vc)
 
 void do_info_network(Monitor *mon)
 {
-    VLANClientState *vc, *peer;
+    NetClientState *vc, *peer;
     net_client_type type;
 
     monitor_printf(mon, "Devices not on any VLAN:\n");
@@ -1124,7 +1124,6 @@  void qmp_set_link(const char *name, bool up, Error **errp)
         }
     }
 done:
-
     if (!vc) {
         qerror_report(QERR_DEVICE_NOT_FOUND, name);
         return;
@@ -1150,7 +1149,7 @@  done:
 
 void net_cleanup(void)
 {
-    VLANClientState *vc, *next_vc;
+    NetClientState *vc, *next_vc;
 
     QTAILQ_FOREACH_SAFE(vc, &net_clients, next, next_vc) {
         qemu_del_vlan_client(vc);
@@ -1159,7 +1158,7 @@  void net_cleanup(void)
 
 void net_check_clients(void)
 {
-    VLANClientState *vc;
+    NetClientState *vc;
     int i;
 
     /* Don't warn about the default network setup that you get if
diff --git a/net.h b/net.h
index 7b8501a..748f11c 100644
--- a/net.h
+++ b/net.h
@@ -16,7 +16,7 @@  struct MACAddr {
 
 typedef struct NICConf {
     MACAddr macaddr;
-    VLANClientState *peer;
+    NetClientState *peer;
     int32_t bootindex;
 } NICConf;
 
@@ -25,7 +25,7 @@  typedef struct NICConf {
     DEFINE_PROP_NETDEV("netdev", _state, _conf.peer),                   \
     DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1)
 
-/* VLANs support */
+/* Net clients */
 
 typedef enum {
     NET_CLIENT_TYPE_NONE,
@@ -41,12 +41,12 @@  typedef enum {
     NET_CLIENT_TYPE_MAX
 } net_client_type;
 
-typedef void (NetPoll)(VLANClientState *, bool enable);
-typedef int (NetCanReceive)(VLANClientState *);
-typedef ssize_t (NetReceive)(VLANClientState *, const uint8_t *, size_t);
-typedef ssize_t (NetReceiveIOV)(VLANClientState *, const struct iovec *, int);
-typedef void (NetCleanup) (VLANClientState *);
-typedef void (LinkStatusChanged)(VLANClientState *);
+typedef void (NetPoll)(NetClientState *, bool enable);
+typedef int (NetCanReceive)(NetClientState *);
+typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t);
+typedef ssize_t (NetReceiveIOV)(NetClientState *, const struct iovec *, int);
+typedef void (NetCleanup) (NetClientState *);
+typedef void (LinkStatusChanged)(NetClientState *);
 
 typedef struct NetClientInfo {
     net_client_type type;
@@ -60,11 +60,11 @@  typedef struct NetClientInfo {
     NetPoll *poll;
 } NetClientInfo;
 
-struct VLANClientState {
+struct NetClientState {
     NetClientInfo *info;
     int link_down;
-    QTAILQ_ENTRY(VLANClientState) next;
-    VLANClientState *peer;
+    QTAILQ_ENTRY(NetClientState) next;
+    NetClientState *peer;
     NetQueue *send_queue;
     char *model;
     char *name;
@@ -73,39 +73,39 @@  struct VLANClientState {
 };
 
 typedef struct NICState {
-    VLANClientState nc;
+    NetClientState nc;
     NICConf *conf;
     void *opaque;
     bool peer_deleted;
 } NICState;
 
-VLANClientState *qemu_find_netdev(const char *id);
-VLANClientState *qemu_new_net_client(NetClientInfo *info,
-                                     VLANClientState *peer,
-                                     const char *model,
-                                     const char *name);
+NetClientState *qemu_find_netdev(const char *id);
+NetClientState *qemu_new_net_client(NetClientInfo *info,
+                                    NetClientState *peer,
+                                    const char *model,
+                                    const char *name);
 NICState *qemu_new_nic(NetClientInfo *info,
                        NICConf *conf,
                        const char *model,
                        const char *name,
                        void *opaque);
-void qemu_del_vlan_client(VLANClientState *vc);
-VLANClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id,
-                                               const char *client_str);
+void qemu_del_vlan_client(NetClientState *vc);
+NetClientState *qemu_find_vlan_client_by_name(Monitor *mon, int vlan_id,
+                                              const char *client_str);
 typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque);
 void qemu_foreach_nic(qemu_nic_foreach func, void *opaque);
-int qemu_can_send_packet(VLANClientState *vc);
-ssize_t qemu_sendv_packet(VLANClientState *vc, const struct iovec *iov,
+int qemu_can_send_packet(NetClientState *vc);
+ssize_t qemu_sendv_packet(NetClientState *vc, const struct iovec *iov,
                           int iovcnt);
-ssize_t qemu_sendv_packet_async(VLANClientState *vc, const struct iovec *iov,
+ssize_t qemu_sendv_packet_async(NetClientState *vc, const struct iovec *iov,
                                 int iovcnt, NetPacketSent *sent_cb);
-void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
-ssize_t qemu_send_packet_raw(VLANClientState *vc, const uint8_t *buf, int size);
-ssize_t qemu_send_packet_async(VLANClientState *vc, const uint8_t *buf,
+void qemu_send_packet(NetClientState *vc, const uint8_t *buf, int size);
+ssize_t qemu_send_packet_raw(NetClientState *vc, const uint8_t *buf, int size);
+ssize_t qemu_send_packet_async(NetClientState *vc, const uint8_t *buf,
                                int size, NetPacketSent *sent_cb);
-void qemu_purge_queued_packets(VLANClientState *vc);
-void qemu_flush_queued_packets(VLANClientState *vc);
-void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]);
+void qemu_purge_queued_packets(NetClientState *vc);
+void qemu_flush_queued_packets(NetClientState *vc);
+void qemu_format_nic_info_str(NetClientState *vc, uint8_t macaddr[6]);
 void qemu_macaddr_default_if_unset(MACAddr *macaddr);
 int qemu_show_nic_models(const char *arg, const char *const *models);
 void qemu_check_nic_model(NICInfo *nd, const char *model);
@@ -123,7 +123,7 @@  struct NICInfo {
     char *model;
     char *name;
     char *devaddr;
-    VLANClientState *netdev;
+    NetClientState *netdev;
     int used;         /* is this slot in nd_table[] being used? */
     int instantiated; /* does this NICInfo correspond to an instantiated NIC? */
     int nvectors;
diff --git a/net/dump.c b/net/dump.c
index 0349210..76f3664 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -30,7 +30,7 @@ 
 #include "hub.h"
 
 typedef struct DumpState {
-    VLANClientState nc;
+    NetClientState nc;
     int64_t start_ts;
     int fd;
     int pcap_caplen;
@@ -57,7 +57,7 @@  struct pcap_sf_pkthdr {
     uint32_t len;
 };
 
-static ssize_t dump_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t dump_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     DumpState *s = DO_UPCAST(DumpState, nc, nc);
     struct pcap_sf_pkthdr hdr;
@@ -86,7 +86,7 @@  static ssize_t dump_receive(VLANClientState *nc, const uint8_t *buf, size_t size
     return size;
 }
 
-static void dump_cleanup(VLANClientState *nc)
+static void dump_cleanup(NetClientState *nc)
 {
     DumpState *s = DO_UPCAST(DumpState, nc, nc);
 
@@ -100,11 +100,11 @@  static NetClientInfo net_dump_info = {
     .cleanup = dump_cleanup,
 };
 
-static int net_dump_init(VLANClientState *peer, const char *device,
+static int net_dump_init(NetClientState *peer, const char *device,
                          const char *name, const char *filename, int len)
 {
     struct pcap_file_hdr hdr;
-    VLANClientState *nc;
+    NetClientState *nc;
     DumpState *s;
     struct tm tm;
     int fd;
@@ -145,7 +145,7 @@  static int net_dump_init(VLANClientState *peer, const char *device,
     return 0;
 }
 
-int net_init_dump(QemuOpts *opts, const char *name, VLANClientState *peer)
+int net_init_dump(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     int len;
     const char *file;
diff --git a/net/dump.h b/net/dump.h
index 907eb03..e6d1d80 100644
--- a/net/dump.h
+++ b/net/dump.h
@@ -27,6 +27,6 @@ 
 #include "net.h"
 #include "qemu-common.h"
 
-int net_init_dump(QemuOpts *opts, const char *name, VLANClientState *peer);
+int net_init_dump(QemuOpts *opts, const char *name, NetClientState *peer);
 
 #endif /* QEMU_NET_DUMP_H */
diff --git a/net/hub.c b/net/hub.c
index fe78a72..122de69 100644
--- a/net/hub.c
+++ b/net/hub.c
@@ -25,7 +25,7 @@ 
 typedef struct NetHub NetHub;
 
 typedef struct NetHubPort {
-    VLANClientState nc;
+    NetClientState nc;
     QLIST_ENTRY(NetHubPort) next;
     NetHub *hub;
     unsigned int id;
@@ -85,7 +85,7 @@  static NetHub *net_hub_new(unsigned int id)
     return hub;
 }
 
-static ssize_t net_hub_port_receive(VLANClientState *nc,
+static ssize_t net_hub_port_receive(NetClientState *nc,
                                     const uint8_t *buf, size_t len)
 {
     NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
@@ -93,7 +93,7 @@  static ssize_t net_hub_port_receive(VLANClientState *nc,
     return net_hub_receive(port->hub, port, buf, len);
 }
 
-static ssize_t net_hub_port_receive_iov(VLANClientState *nc,
+static ssize_t net_hub_port_receive_iov(NetClientState *nc,
                                         const struct iovec *iov, int iovcnt)
 {
     NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
@@ -101,7 +101,7 @@  static ssize_t net_hub_port_receive_iov(VLANClientState *nc,
     return net_hub_receive_iov(port->hub, port, iov, iovcnt);
 }
 
-static void net_hub_port_cleanup(VLANClientState *nc)
+static void net_hub_port_cleanup(NetClientState *nc)
 {
     NetHubPort *port = DO_UPCAST(NetHubPort, nc, nc);
 
@@ -118,7 +118,7 @@  static NetClientInfo net_hub_port_info = {
 
 static NetHubPort *net_hub_port_new(NetHub *hub)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
     NetHubPort *port;
     unsigned int id = hub->num_ports++;
     char name[128];
@@ -140,7 +140,7 @@  static NetHubPort *net_hub_port_new(NetHub *hub)
  *
  * If there is no existing hub with the given id then a new hub is created.
  */
-VLANClientState *net_hub_add_port(unsigned int hub_id)
+NetClientState *net_hub_add_port(unsigned int hub_id)
 {
     NetHub *hub;
     NetHubPort *port;
@@ -162,12 +162,12 @@  VLANClientState *net_hub_add_port(unsigned int hub_id)
 /**
  * Find a specific client on a hub
  */
-VLANClientState *net_hub_find_client_by_name(unsigned int hub_id,
-                                             const char *name)
+NetClientState *net_hub_find_client_by_name(unsigned int hub_id,
+                                            const char *name)
 {
     NetHub *hub;
     NetHubPort *port;
-    VLANClientState *peer;
+    NetClientState *peer;
 
     QLIST_FOREACH(hub, &hubs, next) {
         if (hub->id == hub_id) {
@@ -205,7 +205,7 @@  void net_hub_info(Monitor *mon)
  *
  * @id              Pointer for hub id output, may be NULL
  */
-int net_hub_id_for_client(VLANClientState *nc, unsigned int *id)
+int net_hub_id_for_client(NetClientState *nc, unsigned int *id)
 {
     NetHub *hub;
     NetHubPort *port;
@@ -231,7 +231,7 @@  void net_hub_check_clients(void)
 {
     NetHub *hub;
     NetHubPort *port;
-    VLANClientState *peer;
+    NetClientState *peer;
 
     QLIST_FOREACH(hub, &hubs, next) {
         int has_nic = 0, has_host_dev = 0;
diff --git a/net/hub.h b/net/hub.h
index 10bf036..ff5024a 100644
--- a/net/hub.h
+++ b/net/hub.h
@@ -17,11 +17,11 @@ 
 
 #include "qemu-common.h"
 
-VLANClientState *net_hub_add_port(unsigned int hub_id);
-VLANClientState *net_hub_find_client_by_name(unsigned int hub_id,
-                                             const char *name);
+NetClientState *net_hub_add_port(unsigned int hub_id);
+NetClientState *net_hub_find_client_by_name(unsigned int hub_id,
+                                            const char *name);
 void net_hub_info(Monitor *mon);
-int net_hub_id_for_client(VLANClientState *nc, unsigned int *id);
+int net_hub_id_for_client(NetClientState *nc, unsigned int *id);
 void net_hub_check_clients(void);
 
 #endif /* NET_HUB_H */
diff --git a/net/queue.c b/net/queue.c
index 1ab5247..35c3463 100644
--- a/net/queue.c
+++ b/net/queue.c
@@ -40,7 +40,7 @@ 
 
 struct NetPacket {
     QTAILQ_ENTRY(NetPacket) entry;
-    VLANClientState *sender;
+    NetClientState *sender;
     unsigned flags;
     int size;
     NetPacketSent *sent_cb;
@@ -89,7 +89,7 @@  void qemu_del_net_queue(NetQueue *queue)
 }
 
 static ssize_t qemu_net_queue_append(NetQueue *queue,
-                                     VLANClientState *sender,
+                                     NetClientState *sender,
                                      unsigned flags,
                                      const uint8_t *buf,
                                      size_t size,
@@ -110,7 +110,7 @@  static ssize_t qemu_net_queue_append(NetQueue *queue,
 }
 
 static ssize_t qemu_net_queue_append_iov(NetQueue *queue,
-                                         VLANClientState *sender,
+                                         NetClientState *sender,
                                          unsigned flags,
                                          const struct iovec *iov,
                                          int iovcnt,
@@ -143,7 +143,7 @@  static ssize_t qemu_net_queue_append_iov(NetQueue *queue,
 }
 
 static ssize_t qemu_net_queue_deliver(NetQueue *queue,
-                                      VLANClientState *sender,
+                                      NetClientState *sender,
                                       unsigned flags,
                                       const uint8_t *data,
                                       size_t size)
@@ -158,7 +158,7 @@  static ssize_t qemu_net_queue_deliver(NetQueue *queue,
 }
 
 static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
-                                          VLANClientState *sender,
+                                          NetClientState *sender,
                                           unsigned flags,
                                           const struct iovec *iov,
                                           int iovcnt)
@@ -173,7 +173,7 @@  static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
 }
 
 ssize_t qemu_net_queue_send(NetQueue *queue,
-                            VLANClientState *sender,
+                            NetClientState *sender,
                             unsigned flags,
                             const uint8_t *data,
                             size_t size,
@@ -197,7 +197,7 @@  ssize_t qemu_net_queue_send(NetQueue *queue,
 }
 
 ssize_t qemu_net_queue_send_iov(NetQueue *queue,
-                                VLANClientState *sender,
+                                NetClientState *sender,
                                 unsigned flags,
                                 const struct iovec *iov,
                                 int iovcnt,
@@ -220,7 +220,7 @@  ssize_t qemu_net_queue_send_iov(NetQueue *queue,
     return ret;
 }
 
-void qemu_net_queue_purge(NetQueue *queue, VLANClientState *from)
+void qemu_net_queue_purge(NetQueue *queue, NetClientState *from)
 {
     NetPacket *packet, *next;
 
diff --git a/net/queue.h b/net/queue.h
index a31958e..d8eac0b 100644
--- a/net/queue.h
+++ b/net/queue.h
@@ -29,15 +29,15 @@ 
 typedef struct NetPacket NetPacket;
 typedef struct NetQueue NetQueue;
 
-typedef void (NetPacketSent) (VLANClientState *sender, ssize_t ret);
+typedef void (NetPacketSent) (NetClientState *sender, ssize_t ret);
 
-typedef ssize_t (NetPacketDeliver) (VLANClientState *sender,
+typedef ssize_t (NetPacketDeliver) (NetClientState *sender,
                                     unsigned flags,
                                     const uint8_t *buf,
                                     size_t size,
                                     void *opaque);
 
-typedef ssize_t (NetPacketDeliverIOV) (VLANClientState *sender,
+typedef ssize_t (NetPacketDeliverIOV) (NetClientState *sender,
                                        unsigned flags,
                                        const struct iovec *iov,
                                        int iovcnt,
@@ -52,20 +52,20 @@  NetQueue *qemu_new_net_queue(NetPacketDeliver *deliver,
 void qemu_del_net_queue(NetQueue *queue);
 
 ssize_t qemu_net_queue_send(NetQueue *queue,
-                            VLANClientState *sender,
+                            NetClientState *sender,
                             unsigned flags,
                             const uint8_t *data,
                             size_t size,
                             NetPacketSent *sent_cb);
 
 ssize_t qemu_net_queue_send_iov(NetQueue *queue,
-                                VLANClientState *sender,
+                                NetClientState *sender,
                                 unsigned flags,
                                 const struct iovec *iov,
                                 int iovcnt,
                                 NetPacketSent *sent_cb);
 
-void qemu_net_queue_purge(NetQueue *queue, VLANClientState *from);
+void qemu_net_queue_purge(NetQueue *queue, NetClientState *from);
 void qemu_net_queue_flush(NetQueue *queue);
 
 #endif /* QEMU_NET_QUEUE_H */
diff --git a/net/slirp.c b/net/slirp.c
index 1145412..b060309 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -67,7 +67,7 @@  struct slirp_config_str {
 };
 
 typedef struct SlirpState {
-    VLANClientState nc;
+    NetClientState nc;
     QTAILQ_ENTRY(SlirpState) entry;
     Slirp *slirp;
 #ifndef _WIN32
@@ -110,7 +110,7 @@  void slirp_output(void *opaque, const uint8_t *pkt, int pkt_len)
     qemu_send_packet(&s->nc, pkt, pkt_len);
 }
 
-static ssize_t net_slirp_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t net_slirp_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     SlirpState *s = DO_UPCAST(SlirpState, nc, nc);
 
@@ -119,7 +119,7 @@  static ssize_t net_slirp_receive(VLANClientState *nc, const uint8_t *buf, size_t
     return size;
 }
 
-static void net_slirp_cleanup(VLANClientState *nc)
+static void net_slirp_cleanup(NetClientState *nc)
 {
     SlirpState *s = DO_UPCAST(SlirpState, nc, nc);
 
@@ -135,7 +135,7 @@  static NetClientInfo net_slirp_info = {
     .cleanup = net_slirp_cleanup,
 };
 
-static int net_slirp_init(VLANClientState *peer, const char *model,
+static int net_slirp_init(NetClientState *peer, const char *model,
                           const char *name, int restricted,
                           const char *vnetwork, const char *vhost,
                           const char *vhostname, const char *tftp_export,
@@ -152,7 +152,7 @@  static int net_slirp_init(VLANClientState *peer, const char *model,
 #ifndef _WIN32
     struct in_addr smbsrv = { .s_addr = 0 };
 #endif
-    VLANClientState *nc;
+    NetClientState *nc;
     SlirpState *s;
     char buf[20];
     uint32_t addr;
@@ -283,7 +283,7 @@  static SlirpState *slirp_lookup(Monitor *mon, const char *vlan,
 {
 
     if (vlan) {
-        VLANClientState *nc;
+        NetClientState *nc;
         nc = net_hub_find_client_by_name(strtol(vlan, NULL, 0), stack);
         if (!nc) {
             return NULL;
@@ -677,7 +677,7 @@  static int net_init_slirp_configs(const char *name, const char *value, void *opa
     return 0;
 }
 
-int net_init_slirp(QemuOpts *opts, const char *name, VLANClientState *peer)
+int net_init_slirp(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     struct slirp_config_str *config;
     const char *vhost;
diff --git a/net/slirp.h b/net/slirp.h
index a1ea8f2..de6a009 100644
--- a/net/slirp.h
+++ b/net/slirp.h
@@ -30,7 +30,7 @@ 
 
 #ifdef CONFIG_SLIRP
 
-int net_init_slirp(QemuOpts *opts, const char *name, VLANClientState *peer);
+int net_init_slirp(QemuOpts *opts, const char *name, NetClientState *peer);
 
 void net_slirp_hostfwd_add(Monitor *mon, const QDict *qdict);
 void net_slirp_hostfwd_remove(Monitor *mon, const QDict *qdict);
diff --git a/net/socket.c b/net/socket.c
index 62e5ac5..dc5ba40 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -34,7 +34,7 @@ 
 #include "qemu_socket.h"
 
 typedef struct NetSocketState {
-    VLANClientState nc;
+    NetClientState nc;
     int fd;
     int state; /* 0 = getting length, 1 = getting data */
     unsigned int index;
@@ -44,14 +44,14 @@  typedef struct NetSocketState {
 } NetSocketState;
 
 typedef struct NetSocketListenState {
-    VLANClientState *peer;
+    NetClientState *peer;
     char *model;
     char *name;
     int fd;
 } NetSocketListenState;
 
 /* XXX: we consider we can send the whole packet without blocking */
-static ssize_t net_socket_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t net_socket_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
     uint32_t len;
@@ -61,7 +61,7 @@  static ssize_t net_socket_receive(VLANClientState *nc, const uint8_t *buf, size_
     return send_all(s->fd, buf, size);
 }
 
-static ssize_t net_socket_receive_dgram(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
 
@@ -231,7 +231,7 @@  fail:
     return -1;
 }
 
-static void net_socket_cleanup(VLANClientState *nc)
+static void net_socket_cleanup(NetClientState *nc)
 {
     NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
     qemu_set_fd_handler(s->fd, NULL, NULL, NULL);
@@ -245,7 +245,7 @@  static NetClientInfo net_dgram_socket_info = {
     .cleanup = net_socket_cleanup,
 };
 
-static NetSocketState *net_socket_fd_init_dgram(VLANClientState *peer,
+static NetSocketState *net_socket_fd_init_dgram(NetClientState *peer,
                                                 const char *model,
                                                 const char *name,
                                                 int fd, int is_connected)
@@ -253,7 +253,7 @@  static NetSocketState *net_socket_fd_init_dgram(VLANClientState *peer,
     struct sockaddr_in saddr;
     int newfd;
     socklen_t saddr_len;
-    VLANClientState *nc;
+    NetClientState *nc;
     NetSocketState *s;
 
     /* fd passed: multicast: "learn" dgram_dst address from bound address and save it
@@ -323,12 +323,12 @@  static NetClientInfo net_socket_info = {
     .cleanup = net_socket_cleanup,
 };
 
-static NetSocketState *net_socket_fd_init_stream(VLANClientState *peer,
+static NetSocketState *net_socket_fd_init_stream(NetClientState *peer,
                                                  const char *model,
                                                  const char *name,
                                                  int fd, int is_connected)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
     NetSocketState *s;
 
     nc = qemu_new_net_client(&net_socket_info, peer, model, name);
@@ -347,7 +347,7 @@  static NetSocketState *net_socket_fd_init_stream(VLANClientState *peer,
     return s;
 }
 
-static NetSocketState *net_socket_fd_init(VLANClientState *peer,
+static NetSocketState *net_socket_fd_init(NetClientState *peer,
                                           const char *model, const char *name,
                                           int fd, int is_connected)
 {
@@ -400,7 +400,7 @@  static void net_socket_accept(void *opaque)
     }
 }
 
-static int net_socket_listen_init(VLANClientState *peer,
+static int net_socket_listen_init(NetClientState *peer,
                                   const char *model,
                                   const char *name,
                                   const char *host_str)
@@ -448,7 +448,7 @@  static int net_socket_listen_init(VLANClientState *peer,
     return 0;
 }
 
-static int net_socket_connect_init(VLANClientState *peer,
+static int net_socket_connect_init(NetClientState *peer,
                                    const char *model,
                                    const char *name,
                                    const char *host_str)
@@ -498,7 +498,7 @@  static int net_socket_connect_init(VLANClientState *peer,
     return 0;
 }
 
-static int net_socket_mcast_init(VLANClientState *peer,
+static int net_socket_mcast_init(NetClientState *peer,
                                  const char *model,
                                  const char *name,
                                  const char *host_str,
@@ -588,7 +588,7 @@  static int net_socket_udp_init(NetClientState *peer,
     return 0;
 }
 
-int net_init_socket(QemuOpts *opts, const char *name, VLANClientState *peer)
+int net_init_socket(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     if (qemu_opt_get(opts, "fd")) {
         int fd;
diff --git a/net/socket.h b/net/socket.h
index c1ee5b3..d1e5700 100644
--- a/net/socket.h
+++ b/net/socket.h
@@ -27,6 +27,6 @@ 
 #include "net.h"
 #include "qemu-common.h"
 
-int net_init_socket(QemuOpts *opts, const char *name, VLANClientState *vlan);
+int net_init_socket(QemuOpts *opts, const char *name, NetClientState *vlan);
 
 #endif /* QEMU_NET_SOCKET_H */
diff --git a/net/tap-win32.c b/net/tap-win32.c
index 905781c..05d3cbc 100644
--- a/net/tap-win32.c
+++ b/net/tap-win32.c
@@ -630,11 +630,11 @@  static int tap_win32_open(tap_win32_overlapped_t **phandle,
 /********************************************/
 
  typedef struct TAPState {
-     VLANClientState nc;
+     NetClientState nc;
      tap_win32_overlapped_t *handle;
  } TAPState;
 
-static void tap_cleanup(VLANClientState *nc)
+static void tap_cleanup(NetClientState *nc)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -645,7 +645,7 @@  static void tap_cleanup(VLANClientState *nc)
     */
 }
 
-static ssize_t tap_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -673,10 +673,10 @@  static NetClientInfo net_tap_win32_info = {
     .cleanup = tap_cleanup,
 };
 
-static int tap_win32_init(VLANClientState *peer, const char *model,
+static int tap_win32_init(NetClientState *peer, const char *model,
                           const char *name, const char *ifname)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
     TAPState *s;
     tap_win32_overlapped_t *handle;
 
@@ -699,7 +699,7 @@  static int tap_win32_init(VLANClientState *peer, const char *model,
     return 0;
 }
 
-int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
+int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     const char *ifname;
 
@@ -717,12 +717,12 @@  int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
     return 0;
 }
 
-int tap_has_ufo(VLANClientState *vc)
+int tap_has_ufo(NetClientState *vc)
 {
     return 0;
 }
 
-int tap_has_vnet_hdr(VLANClientState *vc)
+int tap_has_vnet_hdr(NetClientState *vc)
 {
     return 0;
 }
@@ -736,16 +736,16 @@  void tap_fd_set_vnet_hdr_len(int fd, int len)
 {
 }
 
-void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr)
+void tap_using_vnet_hdr(NetClientState *vc, int using_vnet_hdr)
 {
 }
 
-void tap_set_offload(VLANClientState *vc, int csum, int tso4,
+void tap_set_offload(NetClientState *vc, int csum, int tso4,
                      int tso6, int ecn, int ufo)
 {
 }
 
-struct vhost_net *tap_get_vhost_net(VLANClientState *nc)
+struct vhost_net *tap_get_vhost_net(NetClientState *nc)
 {
     return NULL;
 }
diff --git a/net/tap.c b/net/tap.c
index f814936..e2f0536 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -49,7 +49,7 @@ 
 #define TAP_BUFSIZE (4096 + 65536)
 
 typedef struct TAPState {
-    VLANClientState nc;
+    NetClientState nc;
     int fd;
     char down_script[1024];
     char down_script_arg[128];
@@ -114,7 +114,7 @@  static ssize_t tap_write_packet(TAPState *s, const struct iovec *iov, int iovcnt
     return len;
 }
 
-static ssize_t tap_receive_iov(VLANClientState *nc, const struct iovec *iov,
+static ssize_t tap_receive_iov(NetClientState *nc, const struct iovec *iov,
                                int iovcnt)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
@@ -133,7 +133,7 @@  static ssize_t tap_receive_iov(VLANClientState *nc, const struct iovec *iov,
     return tap_write_packet(s, iovp, iovcnt);
 }
 
-static ssize_t tap_receive_raw(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t tap_receive_raw(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
     struct iovec iov[2];
@@ -153,7 +153,7 @@  static ssize_t tap_receive_raw(VLANClientState *nc, const uint8_t *buf, size_t s
     return tap_write_packet(s, iov, iovcnt);
 }
 
-static ssize_t tap_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t tap_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
     struct iovec iov[1];
@@ -182,7 +182,7 @@  ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen)
 }
 #endif
 
-static void tap_send_completed(VLANClientState *nc, ssize_t len)
+static void tap_send_completed(NetClientState *nc, ssize_t len)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
     tap_read_poll(s, 1);
@@ -213,7 +213,7 @@  static void tap_send(void *opaque)
     } while (size > 0 && qemu_can_send_packet(&s->nc));
 }
 
-int tap_has_ufo(VLANClientState *nc)
+int tap_has_ufo(NetClientState *nc)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -222,7 +222,7 @@  int tap_has_ufo(VLANClientState *nc)
     return s->has_ufo;
 }
 
-int tap_has_vnet_hdr(VLANClientState *nc)
+int tap_has_vnet_hdr(NetClientState *nc)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -231,7 +231,7 @@  int tap_has_vnet_hdr(VLANClientState *nc)
     return !!s->host_vnet_hdr_len;
 }
 
-int tap_has_vnet_hdr_len(VLANClientState *nc, int len)
+int tap_has_vnet_hdr_len(NetClientState *nc, int len)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -240,7 +240,7 @@  int tap_has_vnet_hdr_len(VLANClientState *nc, int len)
     return tap_probe_vnet_hdr_len(s->fd, len);
 }
 
-void tap_set_vnet_hdr_len(VLANClientState *nc, int len)
+void tap_set_vnet_hdr_len(NetClientState *nc, int len)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -252,7 +252,7 @@  void tap_set_vnet_hdr_len(VLANClientState *nc, int len)
     s->host_vnet_hdr_len = len;
 }
 
-void tap_using_vnet_hdr(VLANClientState *nc, int using_vnet_hdr)
+void tap_using_vnet_hdr(NetClientState *nc, int using_vnet_hdr)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -264,7 +264,7 @@  void tap_using_vnet_hdr(VLANClientState *nc, int using_vnet_hdr)
     s->using_vnet_hdr = using_vnet_hdr;
 }
 
-void tap_set_offload(VLANClientState *nc, int csum, int tso4,
+void tap_set_offload(NetClientState *nc, int csum, int tso4,
                      int tso6, int ecn, int ufo)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
@@ -275,7 +275,7 @@  void tap_set_offload(VLANClientState *nc, int csum, int tso4,
     tap_fd_set_offload(s->fd, csum, tso4, tso6, ecn, ufo);
 }
 
-static void tap_cleanup(VLANClientState *nc)
+static void tap_cleanup(NetClientState *nc)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
 
@@ -295,14 +295,14 @@  static void tap_cleanup(VLANClientState *nc)
     s->fd = -1;
 }
 
-static void tap_poll(VLANClientState *nc, bool enable)
+static void tap_poll(NetClientState *nc, bool enable)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
     tap_read_poll(s, enable);
     tap_write_poll(s, enable);
 }
 
-int tap_get_fd(VLANClientState *nc)
+int tap_get_fd(NetClientState *nc)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
     assert(nc->info->type == NET_CLIENT_TYPE_TAP);
@@ -321,13 +321,13 @@  static NetClientInfo net_tap_info = {
     .cleanup = tap_cleanup,
 };
 
-static TAPState *net_tap_fd_init(VLANClientState *peer,
+static TAPState *net_tap_fd_init(NetClientState *peer,
                                  const char *model,
                                  const char *name,
                                  int fd,
                                  int vnet_hdr)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
     TAPState *s;
 
     nc = qemu_new_net_client(&net_tap_info, peer, model, name);
@@ -582,7 +582,7 @@  static int net_tap_init(QemuOpts *opts, int *vnet_hdr)
     return fd;
 }
 
-int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
+int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     TAPState *s;
     int fd, vnet_hdr = 0;
@@ -707,7 +707,7 @@  int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer)
     return 0;
 }
 
-VHostNetState *tap_get_vhost_net(VLANClientState *nc)
+VHostNetState *tap_get_vhost_net(NetClientState *nc)
 {
     TAPState *s = DO_UPCAST(TAPState, nc, nc);
     assert(nc->info->type == NET_CLIENT_TYPE_TAP);
diff --git a/net/tap.h b/net/tap.h
index fcc90dc..0934b19 100644
--- a/net/tap.h
+++ b/net/tap.h
@@ -32,18 +32,18 @@ 
 #define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
 #define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
 
-int net_init_tap(QemuOpts *opts, const char *name, VLANClientState *peer);
+int net_init_tap(QemuOpts *opts, const char *name, NetClientState *peer);
 
 int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required);
 
 ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen);
 
-int tap_has_ufo(VLANClientState *vc);
-int tap_has_vnet_hdr(VLANClientState *vc);
-int tap_has_vnet_hdr_len(VLANClientState *vc, int len);
-void tap_using_vnet_hdr(VLANClientState *vc, int using_vnet_hdr);
-void tap_set_offload(VLANClientState *vc, int csum, int tso4, int tso6, int ecn, int ufo);
-void tap_set_vnet_hdr_len(VLANClientState *vc, int len);
+int tap_has_ufo(NetClientState *vc);
+int tap_has_vnet_hdr(NetClientState *vc);
+int tap_has_vnet_hdr_len(NetClientState *vc, int len);
+void tap_using_vnet_hdr(NetClientState *vc, int using_vnet_hdr);
+void tap_set_offload(NetClientState *vc, int csum, int tso4, int tso6, int ecn, int ufo);
+void tap_set_vnet_hdr_len(NetClientState *vc, int len);
 
 int tap_set_sndbuf(int fd, QemuOpts *opts);
 int tap_probe_vnet_hdr(int fd);
@@ -52,10 +52,10 @@  int tap_probe_has_ufo(int fd);
 void tap_fd_set_offload(int fd, int csum, int tso4, int tso6, int ecn, int ufo);
 void tap_fd_set_vnet_hdr_len(int fd, int len);
 
-int tap_get_fd(VLANClientState *vc);
+int tap_get_fd(NetClientState *vc);
 
 struct vhost_net;
-struct vhost_net *tap_get_vhost_net(VLANClientState *vc);
+struct vhost_net *tap_get_vhost_net(NetClientState *vc);
 
 int net_init_bridge(QemuOpts *opts, const char *name, NetClientState *peer);
 
diff --git a/net/vde.c b/net/vde.c
index 8329be6..48fb010 100644
--- a/net/vde.c
+++ b/net/vde.c
@@ -33,7 +33,7 @@ 
 #include "qemu-option.h"
 
 typedef struct VDEState {
-    VLANClientState nc;
+    NetClientState nc;
     VDECONN *vde;
 } VDEState;
 
@@ -49,7 +49,7 @@  static void vde_to_qemu(void *opaque)
     }
 }
 
-static ssize_t vde_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
+static ssize_t vde_receive(NetClientState *nc, const uint8_t *buf, size_t size)
 {
     VDEState *s = DO_UPCAST(VDEState, nc, nc);
     ssize_t ret;
@@ -61,7 +61,7 @@  static ssize_t vde_receive(VLANClientState *nc, const uint8_t *buf, size_t size)
     return ret;
 }
 
-static void vde_cleanup(VLANClientState *nc)
+static void vde_cleanup(NetClientState *nc)
 {
     VDEState *s = DO_UPCAST(VDEState, nc, nc);
     qemu_set_fd_handler(vde_datafd(s->vde), NULL, NULL, NULL);
@@ -75,11 +75,11 @@  static NetClientInfo net_vde_info = {
     .cleanup = vde_cleanup,
 };
 
-static int net_vde_init(VLANClientState *peer, const char *model,
+static int net_vde_init(NetClientState *peer, const char *model,
                         const char *name, const char *sock,
                         int port, const char *group, int mode)
 {
-    VLANClientState *nc;
+    NetClientState *nc;
     VDEState *s;
     VDECONN *vde;
     char *init_group = (char *)group;
@@ -110,7 +110,7 @@  static int net_vde_init(VLANClientState *peer, const char *model,
     return 0;
 }
 
-int net_init_vde(QemuOpts *opts, const char *name, VLANClientState *peer)
+int net_init_vde(QemuOpts *opts, const char *name, NetClientState *peer)
 {
     const char *sock;
     const char *group;
diff --git a/net/vde.h b/net/vde.h
index 5e8ae58..4d504b9 100644
--- a/net/vde.h
+++ b/net/vde.h
@@ -29,7 +29,7 @@ 
 
 #ifdef CONFIG_VDE
 
-int net_init_vde(QemuOpts *opts, const char *name, VLANClientState *peer);
+int net_init_vde(QemuOpts *opts, const char *name, NetClientState *peer);
 
 #endif /* CONFIG_VDE */
 
diff --git a/qemu-common.h b/qemu-common.h
index 3c7c2fa..e58f8c8 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -235,7 +235,7 @@  typedef struct TextConsole TextConsole;
 typedef TextConsole QEMUConsole;
 typedef struct CharDriverState CharDriverState;
 typedef struct MACAddr MACAddr;
-typedef struct VLANClientState VLANClientState;
+typedef struct NetClientState NetClientState;
 typedef struct i2c_bus i2c_bus;
 typedef struct ISABus ISABus;
 typedef struct SMBusDevice SMBusDevice;