diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2012-08-03 13:54:05 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-08-03 13:54:05 -0500 |
commit | f57fb88436464cf72a2a0c7372e2dc0af1870b5f (patch) | |
tree | 9c219d95ffb1f84ae3f12a213364e80824cdc2c4 /hw | |
parent | 3d0b7b5203fb07847bf13aee567a9c9d7483876b (diff) | |
parent | 011de2b512a83aa5e9f8899ed5bbf2f31995b90e (diff) |
Merge remote-tracking branch 'stefanha/net' into staging
* stefanha/net:
net: add the support for -netdev socket, listen
net: fix the coding style
hub: add the support for hub own flow control
net: determine if packets can be sent before net queue deliver packets
net: cleanup deliver/deliver_iov func pointers
net: Make "info network" output more readable info
net: Rename qemu_del_vlan_client() to qemu_del_net_client()
net: Rename vc local variables to nc
net: Rename VLANClientState to NetClientState
net: Rename non_vlan_clients to net_clients
net: Remove VLANState
net: Remove vlan code from net.c
net: Convert qdev_prop_vlan to peer with hub
net: Drop vlan argument to qemu_new_net_client()
hub: Check that hubs are configured correctly
net: Look up 'vlan' net clients using hubs
net: Use hubs for the vlan feature
net: Add a hub net client
net: Add interface to bridge when SIOCBRADDIF isn't available
Diffstat (limited to 'hw')
43 files changed, 146 insertions, 148 deletions
diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c index a0f51dea80..967f62513e 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 756d6301b0..4fa6eccba4 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; @@ -899,7 +899,6 @@ void dp83932_init(NICInfo *nd, target_phys_addr_t base, int it_shift, s->regs[SONIC_SR] = 0x0004; /* only revision recognized by Linux */ s->conf.macaddr = nd->macaddr; - s->conf.vlan = nd->vlan; s->conf.peer = nd->netdev; s->nic = qemu_new_nic(&net_dp83932_info, &s->conf, nd->model, nd->name, s); diff --git a/hw/e1000.c b/hw/e1000.c index 13a459c0eb..ae8a6c5523 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; @@ -1201,7 +1201,7 @@ pci_e1000_uninit(PCIDevice *dev) qemu_free_timer(d->autoneg_timer); memory_region_destroy(&d->mmio); memory_region_destroy(&d->io); - qemu_del_vlan_client(&d->nic->nc); + qemu_del_net_client(&d->nic->nc); } static NetClientInfo net_e1000_info = { diff --git a/hw/eepro100.c b/hw/eepro100.c index 6b9e7f819d..50d117e35e 100644 --- a/hw/eepro100.c +++ b/hw/eepro100.c @@ -1616,7 +1616,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)); @@ -1626,7 +1626,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. @@ -1831,7 +1831,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; @@ -1847,7 +1847,7 @@ static void pci_nic_uninit(PCIDevice *pci_dev) memory_region_destroy(&s->flash_bar); vmstate_unregister(&pci_dev->qdev, s->vmstate, s); eeprom93xx_free(&pci_dev->qdev, s->eeprom); - qemu_del_vlan_client(&s->nic->nc); + qemu_del_net_client(&s->nic->nc); } static NetClientInfo net_eepro100_info = { diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c index 45fb40ce76..b124f5bb3a 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/exynos4_boards.c b/hw/exynos4_boards.c index e5c2a5f388..4bb0a60cb1 100644 --- a/hw/exynos4_boards.c +++ b/hw/exynos4_boards.c @@ -81,7 +81,7 @@ static void lan9215_init(uint32_t base, qemu_irq irq) SysBusDevice *s; /* This should be a 9215 but the 9118 is close enough */ - if (nd_table[0].vlan) { + if (nd_table[0].used) { qemu_check_nic_model(&nd_table[0], "lan9118"); dev = qdev_create(NULL, "lan9118"); qdev_set_nic_properties(dev, &nd_table[0]); diff --git a/hw/highbank.c b/hw/highbank.c index 4bdea5df7d..11aa1312c0 100644 --- a/hw/highbank.c +++ b/hw/highbank.c @@ -284,7 +284,7 @@ static void highbank_init(ram_addr_t ram_size, sysbus_create_simple("sysbus-ahci", 0xffe08000, pic[83]); - if (nd_table[0].vlan) { + if (nd_table[0].used) { qemu_check_nic_model(&nd_table[0], "xgmac"); dev = qdev_create(NULL, "xgmac"); qdev_set_nic_properties(dev, &nd_table[0]); diff --git a/hw/integratorcp.c b/hw/integratorcp.c index deacbf4d0d..d0e2e9068e 100644 --- a/hw/integratorcp.c +++ b/hw/integratorcp.c @@ -493,7 +493,7 @@ static void integratorcp_init(ram_addr_t ram_size, sysbus_create_simple("pl050_keyboard", 0x18000000, pic[3]); sysbus_create_simple("pl050_mouse", 0x19000000, pic[4]); sysbus_create_varargs("pl181", 0x1c000000, pic[23], pic[24], NULL); - if (nd_table[0].vlan) + if (nd_table[0].used) smc91c111_init(&nd_table[0], 0xc8000000, pic[27]); sysbus_create_simple("pl110", 0xc0000000, pic[22]); @@ -121,7 +121,7 @@ static void kzm_init(ram_addr_t ram_size, imx_timerp_create(0x53f98000, qdev_get_gpio_in(dev, 27), ccm); imx_timerg_create(0x53f90000, qdev_get_gpio_in(dev, 29), ccm); - if (nd_table[0].vlan) { + if (nd_table[0].used) { lan9118_init(&nd_table[0], 0xb6000000, qdev_get_gpio_in(dev, 52)); } diff --git a/hw/lan9118.c b/hw/lan9118.c index 61f1c0e63b..ff0a50be19 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; @@ -1304,7 +1304,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 91c0e16237..9b98bb849a 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/mcf5208.c b/hw/mcf5208.c index d3ebe8d9ad..ee25b1b387 100644 --- a/hw/mcf5208.c +++ b/hw/mcf5208.c @@ -236,7 +236,7 @@ static void mcf5208evb_init(ram_addr_t ram_size, fprintf(stderr, "Too many NICs\n"); exit(1); } - if (nd_table[0].vlan) + if (nd_table[0].used) mcf_fec_init(address_space_mem, &nd_table[0], 0xfc030000, pic + 36); diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c index 4ab4ff583d..2fec5bc73e 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; @@ -472,7 +472,6 @@ void mcf_fec_init(MemoryRegion *sysmem, NICInfo *nd, memory_region_add_subregion(sysmem, base, &s->iomem); s->conf.macaddr = nd->macaddr; - s->conf.vlan = nd->vlan; s->conf.peer = nd->netdev; s->nic = qemu_new_nic(&net_mcf_fec_info, &s->conf, nd->model, nd->name, s); diff --git a/hw/milkymist-minimac2.c b/hw/milkymist-minimac2.c index 3924b8343d..b483a02f21 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/mips_mipssim.c b/hw/mips_mipssim.c index eb03047433..830f635597 100644 --- a/hw/mips_mipssim.c +++ b/hw/mips_mipssim.c @@ -217,7 +217,7 @@ mips_mipssim_init (ram_addr_t ram_size, if (serial_hds[0]) serial_init(0x3f8, env->irq[4], 115200, serial_hds[0]); - if (nd_table[0].vlan) + if (nd_table[0].used) /* MIPSnet uses the MIPS CPU INT0, which is interrupt 2. */ mipsnet_init(0x4200, env->irq[2], &nd_table[0]); } diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c index d68599965a..967a76e533 100644 --- a/hw/mips_r4k.c +++ b/hw/mips_r4k.c @@ -283,7 +283,7 @@ void mips_r4k_init (ram_addr_t ram_size, isa_vga_init(isa_bus); - if (nd_table[0].vlan) + if (nd_table[0].used) isa_ne2000_init(isa_bus, 0x300, 9, &nd_table[0]); ide_drive_get(hd, MAX_IDE_BUS); diff --git a/hw/mipsnet.c b/hw/mipsnet.c index 3385be7683..28063b1106 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 448897f82c..ad725b5599 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 99ed965eac..69982a9abb 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 399d3403f7..15605c478f 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; @@ -750,7 +750,7 @@ static void pci_ne2000_exit(PCIDevice *pci_dev) NE2000State *s = &d->ne2000; memory_region_destroy(&s->io); - qemu_del_vlan_client(&s->nic->nc); + qemu_del_net_client(&s->nic->nc); } static Property ne2000_properties[] = { diff --git a/hw/ne2000.h b/hw/ne2000.h index 5fee052194..1e7ab073e3 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 *nc); +ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_); diff --git a/hw/opencores_eth.c b/hw/opencores_eth.c index f4498d413d..8c15969e2b 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/openrisc_sim.c b/hw/openrisc_sim.c index f07f7fc517..55e97f0959 100644 --- a/hw/openrisc_sim.c +++ b/hw/openrisc_sim.c @@ -126,7 +126,7 @@ static void openrisc_sim_init(ram_addr_t ram_size, serial_mm_init(get_system_memory(), 0x90000000, 0, cpu->env.irq[2], 115200, serial_hds[0], DEVICE_NATIVE_ENDIAN); - if (nd_table[0].vlan) { + if (nd_table[0].used) { openrisc_sim_net_init(get_system_memory(), 0x92000000, 0x92000400, cpu->env.irq[4], nd_table); } diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c index 31eb1a8d6f..48fd447996 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; @@ -279,7 +279,7 @@ static void pci_pcnet_uninit(PCIDevice *dev) memory_region_destroy(&d->io_bar); qemu_del_timer(d->state.poll_timer); qemu_free_timer(d->state.poll_timer); - qemu_del_vlan_client(&d->state.nic->nc); + qemu_del_net_client(&d->state.nic->nc); } static NetClientInfo net_pci_pcnet_info = { diff --git a/hw/pcnet.c b/hw/pcnet.c index d769b08b78..40820b3632 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 803a2cc1ec..d0af54a46a 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 24b39e8db4..8aca0d43fe 100644 --- a/hw/qdev-properties.c +++ b/hw/qdev-properties.c @@ -3,6 +3,7 @@ #include "qerror.h" #include "blockdev.h" #include "hw/block-common.h" +#include "net/hub.h" void *qdev_get_prop_ptr(DeviceState *dev, Property *prop) { @@ -583,7 +584,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; @@ -597,7 +598,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 : ""; } @@ -624,13 +625,16 @@ PropertyInfo qdev_prop_netdev = { static int print_vlan(DeviceState *dev, Property *prop, char *dest, size_t len) { - VLANState **ptr = qdev_get_prop_ptr(dev, prop); + NetClientState **ptr = qdev_get_prop_ptr(dev, prop); if (*ptr) { - return snprintf(dest, len, "%d", (*ptr)->id); - } else { - return snprintf(dest, len, "<null>"); + int id; + if (!net_hub_id_for_client(*ptr, &id)) { + return snprintf(dest, len, "%d", id); + } } + + return snprintf(dest, len, "<null>"); } static void get_vlan(Object *obj, Visitor *v, void *opaque, @@ -638,11 +642,17 @@ static void get_vlan(Object *obj, Visitor *v, void *opaque, { DeviceState *dev = DEVICE(obj); Property *prop = opaque; - VLANState **ptr = qdev_get_prop_ptr(dev, prop); - int64_t id; + NetClientState **ptr = qdev_get_prop_ptr(dev, prop); + int32_t id = -1; + + if (*ptr) { + int hub_id; + if (!net_hub_id_for_client(*ptr, &hub_id)) { + id = hub_id; + } + } - id = *ptr ? (*ptr)->id : -1; - visit_type_int64(v, &id, name, errp); + visit_type_int32(v, &id, name, errp); } static void set_vlan(Object *obj, Visitor *v, void *opaque, @@ -650,17 +660,17 @@ static void set_vlan(Object *obj, Visitor *v, void *opaque, { DeviceState *dev = DEVICE(obj); Property *prop = opaque; - VLANState **ptr = qdev_get_prop_ptr(dev, prop); + NetClientState **ptr = qdev_get_prop_ptr(dev, prop); Error *local_err = NULL; - int64_t id; - VLANState *vlan; + int32_t id; + NetClientState *hubport; if (dev->state != DEV_STATE_CREATED) { error_set(errp, QERR_PERMISSION_DENIED); return; } - visit_type_int64(v, &id, name, &local_err); + visit_type_int32(v, &id, name, &local_err); if (local_err) { error_propagate(errp, local_err); return; @@ -669,13 +679,14 @@ static void set_vlan(Object *obj, Visitor *v, void *opaque, *ptr = NULL; return; } - vlan = qemu_find_vlan(id, 1); - if (!vlan) { + + hubport = net_hub_port_find(id); + if (!hubport) { error_set(errp, QERR_INVALID_PARAMETER_VALUE, name, prop->info->name); return; } - *ptr = vlan; + *ptr = hubport; } PropertyInfo qdev_prop_vlan = { @@ -1175,7 +1186,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); @@ -1184,13 +1195,6 @@ void qdev_prop_set_netdev(DeviceState *dev, const char *name, VLANClientState *v assert_no_error(errp); } -void qdev_prop_set_vlan(DeviceState *dev, const char *name, VLANState *value) -{ - Error *errp = NULL; - object_property_set_int(OBJECT(dev), value ? value->id : -1, name, &errp); - assert_no_error(errp); -} - void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value) { Error *errp = NULL; @@ -320,8 +320,6 @@ void qdev_connect_gpio_out(DeviceState * dev, int n, qemu_irq pin) void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd) { qdev_prop_set_macaddr(dev, "mac", nd->macaddr.a); - if (nd->vlan) - qdev_prop_set_vlan(dev, "vlan", nd->vlan); if (nd->netdev) qdev_prop_set_netdev(dev, "netdev", nd->netdev); if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED && @@ -289,9 +289,9 @@ extern PropertyInfo qdev_prop_pci_host_devaddr; #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_VLAN(_n, _s, _f) \ - DEFINE_PROP(_n, _s, _f, qdev_prop_vlan, VLANState*) + DEFINE_PROP(_n, _s, _f, qdev_prop_vlan, NetClientState*) #define DEFINE_PROP_DRIVE(_n, _s, _f) \ DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *) #define DEFINE_PROP_MACADDR(_n, _s, _f) \ @@ -320,8 +320,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, const 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_vlan(DeviceState *dev, const char *name, VLANState *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 7b78f40b99..844f1b8c3f 100644 --- a/hw/rtl8139.c +++ b/hw/rtl8139.c @@ -788,7 +788,7 @@ static bool rtl8139_cp_rx_valid(RTL8139State *s) return !(s->RxRingAddrLO == 0 && s->RxRingAddrHI == 0); } -static int rtl8139_can_receive(VLANClientState *nc) +static int rtl8139_can_receive(NetClientState *nc) { RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque; int avail; @@ -810,7 +810,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 */ @@ -1187,7 +1187,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); } @@ -3431,7 +3431,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; @@ -3450,7 +3450,7 @@ static void pci_rtl8139_uninit(PCIDevice *dev) } qemu_del_timer(s->timer); qemu_free_timer(s->timer); - qemu_del_vlan_client(&s->nic->nc); + qemu_del_net_client(&s->nic->nc); } static NetClientInfo net_rtl8139_info = { diff --git a/hw/smc91c111.c b/hw/smc91c111.c index 451ede0588..d6ef302c6d 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 d54f933d3a..01e54f3675 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 b593cd0ed9..bc97280cca 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 f40c349fc3..c84892c98d 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; @@ -1309,7 +1309,7 @@ static void usb_net_handle_destroy(USBDevice *dev) /* TODO: remove the nd_table[] entry */ rndis_clear_responsequeue(s); - qemu_del_vlan_client(&s->nic->nc); + qemu_del_net_client(&s->nic->nc); } static NetClientInfo net_usbnet_info = { diff --git a/hw/vexpress.c b/hw/vexpress.c index b2dc8a5ab3..b6158447d7 100644 --- a/hw/vexpress.c +++ b/hw/vexpress.c @@ -427,7 +427,7 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard, memory_region_add_subregion(sysmem, map[VE_VIDEORAM], vram); /* 0x4e000000 LAN9118 Ethernet */ - if (nd_table[0].vlan) { + if (nd_table[0].used) { lan9118_init(&nd_table[0], map[VE_ETHERNET], pic[15]); } diff --git a/hw/vhost_net.c b/hw/vhost_net.c index 75f8211046..ecaa22dfb4 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 *nc; }; 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_OPTIONS_KIND_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; @@ -104,7 +104,7 @@ struct vhost_net *vhost_net_init(VLANClientState *backend, int devfd, if (r < 0) { goto fail; } - net->vc = backend; + net->nc = backend; net->dev.backend_features = tap_has_vnet_hdr(backend) ? 0 : (1 << VHOST_NET_F_VIRTIO_NET_HDR); net->backend = r; @@ -151,7 +151,7 @@ int vhost_net_start(struct vhost_net *net, goto fail_notifiers; } if (net->dev.acked_features & (1 << VIRTIO_NET_F_MRG_RXBUF)) { - tap_set_vnet_hdr_len(net->vc, + tap_set_vnet_hdr_len(net->nc, sizeof(struct virtio_net_hdr_mrg_rxbuf)); } @@ -160,7 +160,7 @@ int vhost_net_start(struct vhost_net *net, goto fail_start; } - net->vc->info->poll(net->vc, false); + net->nc->info->poll(net->nc, false); qemu_set_fd_handler(net->backend, NULL, NULL, NULL); file.fd = net->backend; for (file.index = 0; file.index < net->dev.nvqs; ++file.index) { @@ -177,10 +177,10 @@ fail: int r = ioctl(net->dev.control, VHOST_NET_SET_BACKEND, &file); assert(r >= 0); } - net->vc->info->poll(net->vc, true); + net->nc->info->poll(net->nc, true); vhost_dev_stop(&net->dev, dev); if (net->dev.acked_features & (1 << VIRTIO_NET_F_MRG_RXBUF)) { - tap_set_vnet_hdr_len(net->vc, sizeof(struct virtio_net_hdr)); + tap_set_vnet_hdr_len(net->nc, sizeof(struct virtio_net_hdr)); } fail_start: vhost_dev_disable_notifiers(&net->dev, dev); @@ -197,10 +197,10 @@ void vhost_net_stop(struct vhost_net *net, int r = ioctl(net->dev.control, VHOST_NET_SET_BACKEND, &file); assert(r >= 0); } - net->vc->info->poll(net->vc, true); + net->nc->info->poll(net->nc, true); vhost_dev_stop(&net->dev, dev); if (net->dev.acked_features & (1 << VIRTIO_NET_F_MRG_RXBUF)) { - tap_set_vnet_hdr_len(net->vc, sizeof(struct virtio_net_hdr)); + tap_set_vnet_hdr_len(net->nc, sizeof(struct virtio_net_hdr)); } vhost_dev_disable_notifiers(&net->dev, dev); } @@ -209,12 +209,12 @@ void vhost_net_cleanup(struct vhost_net *net) { vhost_dev_cleanup(&net->dev); if (net->dev.acked_features & (1 << VIRTIO_NET_F_MRG_RXBUF)) { - tap_set_vnet_hdr_len(net->vc, sizeof(struct virtio_net_hdr)); + tap_set_vnet_hdr_len(net->nc, sizeof(struct virtio_net_hdr)); } 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 91e40b195e..a9db23423c 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 df204999bc..b1998b27d3 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; @@ -1077,6 +1077,6 @@ void virtio_net_exit(VirtIODevice *vdev) qemu_bh_delete(n->tx_bh); } - qemu_del_vlan_client(&n->nic->nc); + qemu_del_net_client(&n->nic->nc); virtio_cleanup(&n->vdev); } diff --git a/hw/xen_nic.c b/hw/xen_nic.c index 593a572119..8b79bfb73e 100644 --- a/hw/xen_nic.c +++ b/hw/xen_nic.c @@ -233,7 +233,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; @@ -254,7 +254,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; @@ -325,7 +325,6 @@ static int net_init(struct XenDevice *xendev) return -1; } - netdev->conf.vlan = qemu_find_vlan(netdev->xendev.dev, 1); netdev->conf.peer = NULL; netdev->nic = qemu_new_nic(&net_xen_info, &netdev->conf, @@ -407,7 +406,7 @@ static void net_disconnect(struct XenDevice *xendev) netdev->rxs = NULL; } if (netdev->nic) { - qemu_del_vlan_client(&netdev->nic->nc); + qemu_del_net_client(&netdev->nic->nc); netdev->nic = NULL; } } diff --git a/hw/xgmac.c b/hw/xgmac.c index e539681d83..a91ef608f1 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 e948505849..adfaf2c50e 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 9006322855..56ca620dd7 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/hw/xtensa_lx60.c b/hw/xtensa_lx60.c index 152eed95d8..c4f616f4fb 100644 --- a/hw/xtensa_lx60.c +++ b/hw/xtensa_lx60.c @@ -201,7 +201,7 @@ static void lx_init(const LxBoardDesc *board, memory_region_init(system_io, "lx60.io", 224 * 1024 * 1024); memory_region_add_subregion(system_memory, 0xf0000000, system_io); lx60_fpga_init(system_io, 0x0d020000); - if (nd_table[0].vlan) { + if (nd_table[0].used) { lx60_net_init(system_io, 0x0d030000, 0x0d030400, 0x0d800000, xtensa_get_extint(env, 1), nd_table); } |