net: reorganize headers

Move public headers to include/net, and leave private headers in net/.
Put the virtio headers in include/net/tap.h, removing the multiple copies
that existed.  Leave include/net/tap.h as the interface for NICs, and
net/tap_int.h as the interface for OS-specific parts of the tap backend.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2012-10-24 08:43:34 +02:00
parent fd9400b302
commit 1422e32db5
99 changed files with 170 additions and 156 deletions

2
hmp.c
View file

@ -14,7 +14,7 @@
*/ */
#include "hmp.h" #include "hmp.h"
#include "net.h" #include "net/net.h"
#include "qemu-char.h" #include "qemu-char.h"
#include "qemu-option.h" #include "qemu-option.h"
#include "qemu-timer.h" #include "qemu-timer.h"

View file

@ -23,7 +23,7 @@
*/ */
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "flash.h" #include "flash.h"
#include "boards.h" #include "boards.h"
#include "etraxfs.h" #include "etraxfs.h"

View file

@ -25,7 +25,7 @@
#include <zlib.h> /* For crc32 */ #include <zlib.h> /* For crc32 */
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "net/checksum.h" #include "net/checksum.h"
#ifdef CADENCE_GEM_ERR_DEBUG #ifdef CADENCE_GEM_ERR_DEBUG

View file

@ -19,7 +19,7 @@
#include "hw.h" #include "hw.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "net.h" #include "net/net.h"
#include "mips.h" #include "mips.h"
//#define DEBUG_SONIC //#define DEBUG_SONIC

View file

@ -27,7 +27,7 @@
#include "hw.h" #include "hw.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "net/checksum.h" #include "net/checksum.h"
#include "loader.h" #include "loader.h"
#include "sysemu.h" #include "sysemu.h"

View file

@ -43,7 +43,7 @@
#include <stddef.h> /* offsetof */ #include <stddef.h> /* offsetof */
#include "hw.h" #include "hw.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "eeprom93xx.h" #include "eeprom93xx.h"
#include "sysemu.h" #include "sysemu.h"
#include "dma.h" #include "dma.h"

View file

@ -22,7 +22,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "net.h" #include "net/net.h"
#include "etraxfs_dma.h" #include "etraxfs_dma.h"
qemu_irq *cris_pic_init_cpu(CPUCRISState *env); qemu_irq *cris_pic_init_cpu(CPUCRISState *env);

View file

@ -24,7 +24,7 @@
#include <stdio.h> #include <stdio.h>
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "etraxfs.h" #include "etraxfs.h"
#define D(x) #define D(x)

View file

@ -23,7 +23,7 @@
#include "sysemu.h" #include "sysemu.h"
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "exec-memory.h" #include "exec-memory.h"
#include "exynos4210.h" #include "exynos4210.h"

View file

@ -36,7 +36,7 @@
#include "hw.h" #include "hw.h"
#include "pxa.h" #include "pxa.h"
#include "net.h" #include "net/net.h"
#include "flash.h" #include "flash.h"
#include "devices.h" #include "devices.h"
#include "boards.h" #include "boards.h"

View file

@ -21,7 +21,7 @@
#include "arm-misc.h" #include "arm-misc.h"
#include "devices.h" #include "devices.h"
#include "loader.h" #include "loader.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "sysbus.h" #include "sysbus.h"

View file

@ -11,7 +11,7 @@
#include "devices.h" #include "devices.h"
#include "boards.h" #include "boards.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "net.h" #include "net/net.h"
#include "exec-memory.h" #include "exec-memory.h"
#include "sysemu.h" #include "sysemu.h"

View file

@ -18,7 +18,7 @@
#include "hw.h" #include "hw.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "devices.h" #include "devices.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "serial.h" #include "serial.h"

View file

@ -11,7 +11,7 @@
*/ */
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "devices.h" #include "devices.h"
#include "sysemu.h" #include "sysemu.h"
#include "ptimer.h" #include "ptimer.h"

View file

@ -36,7 +36,7 @@
*/ */
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "qemu_socket.h" #include "qemu_socket.h"
#include "sun4m.h" #include "sun4m.h"

View file

@ -14,7 +14,7 @@
#include "hw.h" #include "hw.h"
#include "pxa.h" #include "pxa.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "net.h" #include "net/net.h"
#include "devices.h" #include "devices.h"
#include "boards.h" #include "boards.h"
#include "flash.h" #include "flash.h"

View file

@ -10,7 +10,7 @@
#include "qemu-timer.h" #include "qemu-timer.h"
#include "ptimer.h" #include "ptimer.h"
#include "sysemu.h" #include "sysemu.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "loader.h" #include "loader.h"
#include "elf.h" #include "elf.h"

View file

@ -6,7 +6,7 @@
* This code is licensed under the GPL * This code is licensed under the GPL
*/ */
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "mcf.h" #include "mcf.h"
/* For crc32 */ /* For crc32 */
#include <zlib.h> #include <zlib.h>

View file

@ -3,7 +3,7 @@
#include "qdev.h" #include "qdev.h"
#include "qdev-addr.h" #include "qdev-addr.h"
#include "net.h" #include "net/net.h"
static inline DeviceState *milkymist_uart_create(hwaddr base, static inline DeviceState *milkymist_uart_create(hwaddr base,
qemu_irq irq) qemu_irq irq)

View file

@ -25,7 +25,7 @@
#include "hw.h" #include "hw.h"
#include "sysbus.h" #include "sysbus.h"
#include "trace.h" #include "trace.h"
#include "net.h" #include "net/net.h"
#include "qemu-error.h" #include "qemu-error.h"
#include "qdev-addr.h" #include "qdev-addr.h"

View file

@ -22,7 +22,7 @@
#include "pc.h" #include "pc.h"
#include "serial.h" #include "serial.h"
#include "fdc.h" #include "fdc.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "smbus.h" #include "smbus.h"
#include "block.h" #include "block.h"

View file

@ -32,7 +32,7 @@
#include "sysemu.h" #include "sysemu.h"
#include "arch_init.h" #include "arch_init.h"
#include "boards.h" #include "boards.h"
#include "net.h" #include "net/net.h"
#include "esp.h" #include "esp.h"
#include "mips-bios.h" #include "mips-bios.h"
#include "loader.h" #include "loader.h"

View file

@ -26,7 +26,7 @@
#include "pc.h" #include "pc.h"
#include "serial.h" #include "serial.h"
#include "fdc.h" #include "fdc.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "smbus.h" #include "smbus.h"
#include "block.h" #include "block.h"

View file

@ -29,7 +29,7 @@
#include "mips_cpudevs.h" #include "mips_cpudevs.h"
#include "serial.h" #include "serial.h"
#include "isa.h" #include "isa.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "mips-bios.h" #include "mips-bios.h"

View file

@ -13,7 +13,7 @@
#include "pc.h" #include "pc.h"
#include "serial.h" #include "serial.h"
#include "isa.h" #include "isa.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "flash.h" #include "flash.h"

View file

@ -1,5 +1,5 @@
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "trace.h" #include "trace.h"
#include "sysbus.h" #include "sysbus.h"

View file

@ -12,7 +12,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "devices.h" #include "devices.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "serial.h" #include "serial.h"

View file

@ -25,7 +25,7 @@
#include "pc.h" #include "pc.h"
#include "isa.h" #include "isa.h"
#include "qdev.h" #include "qdev.h"
#include "net.h" #include "net/net.h"
#include "ne2000.h" #include "ne2000.h"
#include "exec-memory.h" #include "exec-memory.h"

View file

@ -23,7 +23,7 @@
*/ */
#include "hw.h" #include "hw.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "ne2000.h" #include "ne2000.h"
#include "loader.h" #include "loader.h"
#include "sysemu.h" #include "sysemu.h"

View file

@ -33,7 +33,7 @@
#include "hw.h" #include "hw.h"
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "trace.h" #include "trace.h"

View file

@ -22,7 +22,7 @@
#include "boards.h" #include "boards.h"
#include "elf.h" #include "elf.h"
#include "serial.h" #include "serial.h"
#include "net.h" #include "net/net.h"
#include "loader.h" #include "loader.h"
#include "exec-memory.h" #include "exec-memory.h"
#include "sysemu.h" #include "sysemu.h"

View file

@ -6,7 +6,7 @@
#include "ioport.h" #include "ioport.h"
#include "isa.h" #include "isa.h"
#include "fdc.h" #include "fdc.h"
#include "net.h" #include "net/net.h"
#include "memory.h" #include "memory.h"
#include "ioapic.h" #include "ioapic.h"

View file

@ -30,7 +30,7 @@
#include "pci/pci.h" #include "pci/pci.h"
#include "pci/pci_ids.h" #include "pci/pci_ids.h"
#include "usb.h" #include "usb.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "ide.h" #include "ide.h"
#include "kvm.h" #include "kvm.h"

View file

@ -25,7 +25,7 @@
#include "hw/hw.h" #include "hw/hw.h"
#include "hw/boards.h" #include "hw/boards.h"
#include "hw/pci/pci.h" #include "hw/pci/pci.h"
#include "net.h" #include "net/net.h"
#include "hw/pc.h" #include "hw/pc.h"
#include "monitor.h" #include "monitor.h"
#include "hw/scsi.h" #include "hw/scsi.h"

View file

@ -26,7 +26,7 @@
#include "hw/pci/pci_bridge.h" #include "hw/pci/pci_bridge.h"
#include "hw/pci/pci_bus.h" #include "hw/pci/pci_bus.h"
#include "monitor.h" #include "monitor.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "hw/loader.h" #include "hw/loader.h"
#include "range.h" #include "range.h"

View file

@ -28,7 +28,7 @@
*/ */
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "loader.h" #include "loader.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "dma.h" #include "dma.h"

View file

@ -36,7 +36,7 @@
*/ */
#include "qdev.h" #include "qdev.h"
#include "net.h" #include "net/net.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "qemu_socket.h" #include "qemu_socket.h"
#include "sysemu.h" #include "sysemu.h"

View file

@ -27,7 +27,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "flash.h" #include "flash.h"
#include "sysemu.h" #include "sysemu.h"
#include "devices.h" #include "devices.h"

View file

@ -25,7 +25,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "flash.h" #include "flash.h"
#include "sysemu.h" #include "sysemu.h"
#include "devices.h" #include "devices.h"

View file

@ -18,7 +18,7 @@
#include "qemu-common.h" #include "qemu-common.h"
#include "e500.h" #include "e500.h"
#include "e500-ccsr.h" #include "e500-ccsr.h"
#include "net.h" #include "net/net.h"
#include "qemu-config.h" #include "qemu-config.h"
#include "hw/hw.h" #include "hw/hw.h"
#include "hw/serial.h" #include "hw/serial.h"

View file

@ -13,7 +13,7 @@
#include "config.h" #include "config.h"
#include "qemu-common.h" #include "qemu-common.h"
#include "net.h" #include "net/net.h"
#include "hw.h" #include "hw.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "boards.h" #include "boards.h"

View file

@ -53,7 +53,7 @@
#include "mac_dbdma.h" #include "mac_dbdma.h"
#include "nvram.h" #include "nvram.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "fw_cfg.h" #include "fw_cfg.h"

View file

@ -30,7 +30,7 @@
#include "mac_dbdma.h" #include "mac_dbdma.h"
#include "nvram.h" #include "nvram.h"
#include "sysemu.h" #include "sysemu.h"
#include "net.h" #include "net/net.h"
#include "isa.h" #include "isa.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "boards.h" #include "boards.h"

View file

@ -26,7 +26,7 @@
#include "pc.h" #include "pc.h"
#include "serial.h" #include "serial.h"
#include "fdc.h" #include "fdc.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "isa.h" #include "isa.h"
#include "pci/pci.h" #include "pci/pci.h"

View file

@ -1,4 +1,4 @@
#include "net.h" #include "net/net.h"
#include "qdev.h" #include "qdev.h"
#include "qerror.h" #include "qerror.h"
#include "blockdev.h" #include "blockdev.h"

View file

@ -25,7 +25,7 @@
inherit from a particular bus (e.g. PCI or I2C) rather than inherit from a particular bus (e.g. PCI or I2C) rather than
this API directly. */ this API directly. */
#include "net.h" #include "net/net.h"
#include "qdev.h" #include "qdev.h"
#include "sysemu.h" #include "sysemu.h"
#include "error.h" #include "error.h"

View file

@ -30,7 +30,7 @@
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "sh7750_regs.h" #include "sh7750_regs.h"
#include "ide.h" #include "ide.h"
#include "loader.h" #include "loader.h"

View file

@ -12,7 +12,7 @@
#include "primecell.h" #include "primecell.h"
#include "devices.h" #include "devices.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "i2c.h" #include "i2c.h"

View file

@ -55,7 +55,7 @@
#include "pci/pci.h" #include "pci/pci.h"
#include "dma.h" #include "dma.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "net.h" #include "net/net.h"
#include "loader.h" #include "loader.h"
#include "sysemu.h" #include "sysemu.h"
#include "iov.h" #include "iov.h"

View file

@ -21,7 +21,7 @@
#include "block.h" #include "block.h"
#include "blockdev.h" #include "blockdev.h"
#include "sysemu.h" #include "sysemu.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "monitor.h" #include "monitor.h"
#include "loader.h" #include "loader.h"

View file

@ -8,7 +8,7 @@
*/ */
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include "devices.h" #include "devices.h"
/* For crc32 */ /* For crc32 */
#include <zlib.h> #include <zlib.h>

View file

@ -27,7 +27,7 @@
#include "sysemu.h" #include "sysemu.h"
#include "hw.h" #include "hw.h"
#include "elf.h" #include "elf.h"
#include "net.h" #include "net/net.h"
#include "blockdev.h" #include "blockdev.h"
#include "cpus.h" #include "cpus.h"
#include "kvm.h" #include "kvm.h"

View file

@ -25,7 +25,7 @@
* *
*/ */
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "hw/qdev.h" #include "hw/qdev.h"
#include "hw/spapr.h" #include "hw/spapr.h"
#include "hw/spapr_vio.h" #include "hw/spapr_vio.h"

View file

@ -13,7 +13,7 @@
#include "devices.h" #include "devices.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "i2c.h" #include "i2c.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "exec-memory.h" #include "exec-memory.h"

View file

@ -7,7 +7,7 @@
* This code is licensed under the GPL. * This code is licensed under the GPL.
*/ */
#include "sysbus.h" #include "sysbus.h"
#include "net.h" #include "net/net.h"
#include <zlib.h> #include <zlib.h>
//#define DEBUG_STELLARIS_ENET 1 //#define DEBUG_STELLARIS_ENET 1

View file

@ -28,7 +28,7 @@
#include "sparc32_dma.h" #include "sparc32_dma.h"
#include "fdc.h" #include "fdc.h"
#include "sysemu.h" #include "sysemu.h"
#include "net.h" #include "net/net.h"
#include "boards.h" #include "boards.h"
#include "firmware_abi.h" #include "firmware_abi.h"
#include "esp.h" #include "esp.h"

View file

@ -28,7 +28,7 @@
#include "serial.h" #include "serial.h"
#include "nvram.h" #include "nvram.h"
#include "fdc.h" #include "fdc.h"
#include "net.h" #include "net/net.h"
#include "qemu-timer.h" #include "qemu-timer.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"

View file

@ -26,7 +26,7 @@
#include "qemu-common.h" #include "qemu-common.h"
#include "hw/usb.h" #include "hw/usb.h"
#include "hw/usb/desc.h" #include "hw/usb/desc.h"
#include "net.h" #include "net/net.h"
#include "qemu-queue.h" #include "qemu-queue.h"
#include "qemu-config.h" #include "qemu-config.h"
#include "sysemu.h" #include "sysemu.h"

View file

@ -10,7 +10,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "devices.h" #include "devices.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "pci/pci.h" #include "pci/pci.h"
#include "i2c.h" #include "i2c.h"

View file

@ -25,7 +25,7 @@
#include "arm-misc.h" #include "arm-misc.h"
#include "primecell.h" #include "primecell.h"
#include "devices.h" #include "devices.h"
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"
#include "exec-memory.h" #include "exec-memory.h"

View file

@ -13,7 +13,7 @@
* GNU GPL, version 2 or (at your option) any later version. * GNU GPL, version 2 or (at your option) any later version.
*/ */
#include "net.h" #include "net/net.h"
#include "net/tap.h" #include "net/tap.h"
#include "virtio-net.h" #include "virtio-net.h"

View file

@ -1,7 +1,7 @@
#ifndef VHOST_NET_H #ifndef VHOST_NET_H
#define VHOST_NET_H #define VHOST_NET_H
#include "net.h" #include "net/net.h"
struct vhost_net; struct vhost_net;
typedef struct vhost_net VHostNetState; typedef struct vhost_net VHostNetState;

View file

@ -13,7 +13,7 @@
#include "iov.h" #include "iov.h"
#include "virtio.h" #include "virtio.h"
#include "net.h" #include "net/net.h"
#include "net/checksum.h" #include "net/checksum.h"
#include "net/tap.h" #include "net/tap.h"
#include "qemu-error.h" #include "qemu-error.h"

View file

@ -73,33 +73,6 @@ struct virtio_net_config
uint16_t status; uint16_t status;
} QEMU_PACKED; } QEMU_PACKED;
/* This is the first element of the scatter-gather list. If you don't
* specify GSO or CSUM features, you can simply ignore the header. */
struct virtio_net_hdr
{
#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 // Use csum_start, csum_offset
#define VIRTIO_NET_HDR_F_DATA_VALID 2 // Csum is valid
uint8_t flags;
#define VIRTIO_NET_HDR_GSO_NONE 0 // Not a GSO frame
#define VIRTIO_NET_HDR_GSO_TCPV4 1 // GSO frame, IPv4 TCP (TSO)
#define VIRTIO_NET_HDR_GSO_UDP 3 // GSO frame, IPv4 UDP (UFO)
#define VIRTIO_NET_HDR_GSO_TCPV6 4 // GSO frame, IPv6 TCP
#define VIRTIO_NET_HDR_GSO_ECN 0x80 // TCP has ECN set
uint8_t gso_type;
uint16_t hdr_len;
uint16_t gso_size;
uint16_t csum_start;
uint16_t csum_offset;
};
/* This is the version of the header to use when the MRG_RXBUF
* feature has been negotiated. */
struct virtio_net_hdr_mrg_rxbuf
{
struct virtio_net_hdr hdr;
uint16_t num_buffers; /* Number of merged rx buffers */
};
/* /*
* Control virtqueue data structures * Control virtqueue data structures
* *

View file

@ -15,7 +15,7 @@
#define _QEMU_VIRTIO_H #define _QEMU_VIRTIO_H
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "qdev.h" #include "qdev.h"
#include "sysemu.h" #include "sysemu.h"
#include "event_notifier.h" #include "event_notifier.h"

View file

@ -3,7 +3,7 @@
#include "xen_common.h" #include "xen_common.h"
#include "sysemu.h" #include "sysemu.h"
#include "net.h" #include "net/net.h"
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */

View file

@ -36,7 +36,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#include "net/checksum.h" #include "net/checksum.h"
#include "net/util.h" #include "net/util.h"
#include "xen_backend.h" #include "xen_backend.h"

View file

@ -27,7 +27,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "qemu-char.h" #include "qemu-char.h"
#include "qemu-log.h" #include "qemu-log.h"
#include "net.h" #include "net/net.h"
#include "net/checksum.h" #include "net/checksum.h"
#ifdef DEBUG_XGMAC #ifdef DEBUG_XGMAC

View file

@ -1,6 +1,6 @@
#include "stream.h" #include "stream.h"
#include "qemu-common.h" #include "qemu-common.h"
#include "net.h" #include "net/net.h"
static inline DeviceState * static inline DeviceState *
xilinx_intc_create(hwaddr base, qemu_irq irq, int kind_of_intr) xilinx_intc_create(hwaddr base, qemu_irq irq, int kind_of_intr)

View file

@ -24,7 +24,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "qemu-log.h" #include "qemu-log.h"
#include "net.h" #include "net/net.h"
#include "net/checksum.h" #include "net/checksum.h"
#include "stream.h" #include "stream.h"

View file

@ -24,7 +24,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "hw.h" #include "hw.h"
#include "net.h" #include "net/net.h"
#define D(x) #define D(x)
#define R_TX_BUF0 0 #define R_TX_BUF0 0

View file

@ -17,7 +17,7 @@
#include "sysbus.h" #include "sysbus.h"
#include "arm-misc.h" #include "arm-misc.h"
#include "net.h" #include "net/net.h"
#include "exec-memory.h" #include "exec-memory.h"
#include "sysemu.h" #include "sysemu.h"
#include "boards.h" #include "boards.h"

View file

@ -32,7 +32,7 @@
#include "memory.h" #include "memory.h"
#include "exec-memory.h" #include "exec-memory.h"
#include "serial.h" #include "serial.h"
#include "net.h" #include "net/net.h"
#include "sysbus.h" #include "sysbus.h"
#include "flash.h" #include "flash.h"
#include "blockdev.h" #include "blockdev.h"

View file

@ -147,6 +147,9 @@ void net_host_device_remove(Monitor *mon, const QDict *qdict);
void netdev_add(QemuOpts *opts, Error **errp); void netdev_add(QemuOpts *opts, Error **errp);
int qmp_netdev_add(Monitor *mon, const QDict *qdict, QObject **ret); int qmp_netdev_add(Monitor *mon, const QDict *qdict, QObject **ret);
int net_hub_id_for_client(NetClientState *nc, int *id);
NetClientState *net_hub_port_find(int hub_id);
#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup" #define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown" #define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
#define DEFAULT_BRIDGE_HELPER CONFIG_QEMU_HELPERDIR "/qemu-bridge-helper" #define DEFAULT_BRIDGE_HELPER CONFIG_QEMU_HELPERDIR "/qemu-bridge-helper"

67
include/net/tap.h Normal file
View file

@ -0,0 +1,67 @@
/*
* QEMU System Emulator
*
* Copyright (c) 2003-2008 Fabrice Bellard
* Copyright (c) 2009 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef QEMU_NET_TAP_H
#define QEMU_NET_TAP_H
#include "qemu-common.h"
#include "qapi-types.h"
int tap_has_ufo(NetClientState *nc);
int tap_has_vnet_hdr(NetClientState *nc);
int tap_has_vnet_hdr_len(NetClientState *nc, int len);
void tap_using_vnet_hdr(NetClientState *nc, int using_vnet_hdr);
void tap_set_offload(NetClientState *nc, int csum, int tso4, int tso6, int ecn, int ufo);
void tap_set_vnet_hdr_len(NetClientState *nc, int len);
int tap_get_fd(NetClientState *nc);
struct vhost_net;
struct vhost_net *tap_get_vhost_net(NetClientState *nc);
struct virtio_net_hdr
{
#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 // Use csum_start, csum_offset
#define VIRTIO_NET_HDR_F_DATA_VALID 2 // Csum is valid
uint8_t flags;
#define VIRTIO_NET_HDR_GSO_NONE 0 // Not a GSO frame
#define VIRTIO_NET_HDR_GSO_TCPV4 1 // GSO frame, IPv4 TCP (TSO)
#define VIRTIO_NET_HDR_GSO_UDP 3 // GSO frame, IPv4 UDP (UFO)
#define VIRTIO_NET_HDR_GSO_TCPV6 4 // GSO frame, IPv6 TCP
#define VIRTIO_NET_HDR_GSO_ECN 0x80 // TCP has ECN set
uint8_t gso_type;
uint16_t hdr_len;
uint16_t gso_size;
uint16_t csum_start;
uint16_t csum_offset;
};
struct virtio_net_hdr_mrg_rxbuf
{
struct virtio_net_hdr hdr;
uint16_t num_buffers; /* Number of merged rx buffers */
};
#endif /* QEMU_NET_TAP_H */

View file

@ -31,7 +31,7 @@
#include "hw/watchdog.h" #include "hw/watchdog.h"
#include "hw/loader.h" #include "hw/loader.h"
#include "gdbstub.h" #include "gdbstub.h"
#include "net.h" #include "net/net.h"
#include "net/slirp.h" #include "net/slirp.h"
#include "qemu-char.h" #include "qemu-char.h"
#include "ui/qemu-spice.h" #include "ui/qemu-spice.h"

View file

@ -24,7 +24,7 @@
#ifndef QEMU_NET_CLIENTS_H #ifndef QEMU_NET_CLIENTS_H
#define QEMU_NET_CLIENTS_H #define QEMU_NET_CLIENTS_H
#include "net.h" #include "net/net.h"
#include "qapi-types.h" #include "qapi-types.h"
int net_init_dump(const NetClientOptions *opts, const char *name, int net_init_dump(const NetClientOptions *opts, const char *name,

View file

@ -13,7 +13,7 @@
*/ */
#include "monitor.h" #include "monitor.h"
#include "net.h" #include "net/net.h"
#include "clients.h" #include "clients.h"
#include "hub.h" #include "hub.h"
#include "iov.h" #include "iov.h"

View file

@ -20,8 +20,6 @@
NetClientState *net_hub_add_port(int hub_id, const char *name); NetClientState *net_hub_add_port(int hub_id, const char *name);
NetClientState *net_hub_find_client_by_name(int hub_id, const char *name); NetClientState *net_hub_find_client_by_name(int hub_id, const char *name);
void net_hub_info(Monitor *mon); void net_hub_info(Monitor *mon);
int net_hub_id_for_client(NetClientState *nc, int *id);
void net_hub_check_clients(void); void net_hub_check_clients(void);
NetClientState *net_hub_port_find(int hub_id);
#endif /* NET_HUB_H */ #endif /* NET_HUB_H */

View file

@ -23,10 +23,10 @@
*/ */
#include "config-host.h" #include "config-host.h"
#include "net.h" #include "net/net.h"
#include "clients.h" #include "clients.h"
#include "hub.h" #include "hub.h"
#include "slirp.h" #include "net/slirp.h"
#include "util.h" #include "util.h"
#include "monitor.h" #include "monitor.h"

View file

@ -23,7 +23,7 @@
#include "net/queue.h" #include "net/queue.h"
#include "qemu-queue.h" #include "qemu-queue.h"
#include "net.h" #include "net/net.h"
/* The delivery handler may only return zero if it will call /* The delivery handler may only return zero if it will call
* qemu_net_queue_flush() when it determines that it is once again able * qemu_net_queue_flush() when it determines that it is once again able

View file

@ -29,7 +29,7 @@
#include <pwd.h> #include <pwd.h>
#include <sys/wait.h> #include <sys/wait.h>
#endif #endif
#include "net.h" #include "net/net.h"
#include "clients.h" #include "clients.h"
#include "hub.h" #include "hub.h"
#include "monitor.h" #include "monitor.h"

View file

@ -23,7 +23,7 @@
*/ */
#include "config-host.h" #include "config-host.h"
#include "net.h" #include "net/net.h"
#include "clients.h" #include "clients.h"
#include "monitor.h" #include "monitor.h"
#include "qemu-common.h" #include "qemu-common.h"

View file

@ -22,7 +22,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "net/tap.h" #include "tap_int.h"
#include <stdio.h> #include <stdio.h>
int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required) int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required)

View file

@ -22,7 +22,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "net/tap.h" #include "tap_int.h"
#include "qemu-common.h" #include "qemu-common.h"
#include "sysemu.h" #include "sysemu.h"
#include "qemu-error.h" #include "qemu-error.h"

View file

@ -22,7 +22,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "net/tap.h" #include "tap_int.h"
#include <stdio.h> #include <stdio.h>
int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required) int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required)

View file

@ -23,8 +23,9 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "tap_int.h"
#include "tap-linux.h"
#include "net/tap.h" #include "net/tap.h"
#include "net/tap-linux.h"
#include <net/if.h> #include <net/if.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>

View file

@ -13,8 +13,8 @@
* GNU General Public License for more details. * GNU General Public License for more details.
*/ */
#ifndef QEMU_TAP_H #ifndef QEMU_TAP_LINUX_H
#define QEMU_TAP_H #define QEMU_TAP_LINUX_H
#include <stdint.h> #include <stdint.h>
#ifdef __linux__ #ifdef __linux__
@ -44,20 +44,4 @@
#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */ #define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
#define TUN_F_UFO 0x10 /* I can handle UFO packets */ #define TUN_F_UFO 0x10 /* I can handle UFO packets */
struct virtio_net_hdr
{
uint8_t flags;
uint8_t gso_type;
uint16_t hdr_len;
uint16_t gso_size;
uint16_t csum_start;
uint16_t csum_offset;
};
struct virtio_net_hdr_mrg_rxbuf
{
struct virtio_net_hdr hdr;
uint16_t num_buffers; /* Number of merged rx buffers */
};
#endif /* QEMU_TAP_H */ #endif /* QEMU_TAP_H */

View file

@ -22,7 +22,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "net/tap.h" #include "tap_int.h"
#include "sysemu.h" #include "sysemu.h"
#include <sys/stat.h> #include <sys/stat.h>

View file

@ -26,11 +26,11 @@
* distribution); if not, see <http://www.gnu.org/licenses/>. * distribution); if not, see <http://www.gnu.org/licenses/>.
*/ */
#include "tap.h" #include "tap_int.h"
#include "qemu-common.h" #include "qemu-common.h"
#include "clients.h" /* net_init_tap */ #include "clients.h" /* net_init_tap */
#include "net.h" #include "net/net.h"
#include "sysemu.h" #include "sysemu.h"
#include "qemu-error.h" #include "qemu-error.h"
#include <stdio.h> #include <stdio.h>

View file

@ -23,7 +23,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "tap.h" #include "tap_int.h"
#include "config-host.h" #include "config-host.h"
@ -33,14 +33,14 @@
#include <sys/socket.h> #include <sys/socket.h>
#include <net/if.h> #include <net/if.h>
#include "net.h" #include "net/net.h"
#include "clients.h" #include "clients.h"
#include "monitor.h" #include "monitor.h"
#include "sysemu.h" #include "sysemu.h"
#include "qemu-common.h" #include "qemu-common.h"
#include "qemu-error.h" #include "qemu-error.h"
#include "net/tap-linux.h" #include "net/tap.h"
#include "hw/vhost_net.h" #include "hw/vhost_net.h"

View file

@ -23,8 +23,8 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#ifndef QEMU_NET_TAP_H #ifndef QEMU_TAP_H
#define QEMU_NET_TAP_H #define QEMU_TAP_H
#include "qemu-common.h" #include "qemu-common.h"
#include "qapi-types.h" #include "qapi-types.h"
@ -36,13 +36,6 @@ 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); ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen);
int tap_has_ufo(NetClientState *nc);
int tap_has_vnet_hdr(NetClientState *nc);
int tap_has_vnet_hdr_len(NetClientState *nc, int len);
void tap_using_vnet_hdr(NetClientState *nc, int using_vnet_hdr);
void tap_set_offload(NetClientState *nc, int csum, int tso4, int tso6, int ecn, int ufo);
void tap_set_vnet_hdr_len(NetClientState *nc, int len);
int tap_set_sndbuf(int fd, const NetdevTapOptions *tap); int tap_set_sndbuf(int fd, const NetdevTapOptions *tap);
int tap_probe_vnet_hdr(int fd); int tap_probe_vnet_hdr(int fd);
int tap_probe_vnet_hdr_len(int fd, int len); int tap_probe_vnet_hdr_len(int fd, int len);
@ -50,9 +43,4 @@ 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_offload(int fd, int csum, int tso4, int tso6, int ecn, int ufo);
void tap_fd_set_vnet_hdr_len(int fd, int len); void tap_fd_set_vnet_hdr_len(int fd, int len);
int tap_get_fd(NetClientState *nc); #endif /* QEMU_TAP_H */
struct vhost_net;
struct vhost_net *tap_get_vhost_net(NetClientState *nc);
#endif /* QEMU_NET_TAP_H */

View file

@ -22,7 +22,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "net/util.h" #include "util.h"
#include <errno.h> #include <errno.h>
#include <stdlib.h> #include <stdlib.h>

View file

@ -25,7 +25,7 @@
#include <libvdeplug.h> #include <libvdeplug.h>
#include "net.h" #include "net/net.h"
#include "clients.h" #include "clients.h"
#include "qemu-common.h" #include "qemu-common.h"
#include "qemu-option.h" #include "qemu-option.h"

View file

@ -72,7 +72,7 @@
#include "qemu-common.h" #include "qemu-common.h"
#include "hw/hw.h" #include "hw/hw.h"
#include "hw/qdev.h" #include "hw/qdev.h"
#include "net.h" #include "net/net.h"
#include "monitor.h" #include "monitor.h"
#include "sysemu.h" #include "sysemu.h"
#include "qemu-timer.h" #include "qemu-timer.h"

2
vl.c
View file

@ -127,7 +127,7 @@ int main(int argc, char **argv)
#include "hw/qdev.h" #include "hw/qdev.h"
#include "hw/loader.h" #include "hw/loader.h"
#include "bt-host.h" #include "bt-host.h"
#include "net.h" #include "net/net.h"
#include "net/slirp.h" #include "net/slirp.h"
#include "monitor.h" #include "monitor.h"
#include "console.h" #include "console.h"