A new attempt at adding support for Intel 82576 Gigabit Ethernet adapter with SR-IOV support.
Start qemu with the following parameters. qemu-system-x86_64 -enable-kvm -M q35 \ ... -device pcie-root-port,slot=3,id=pcie_port.3 \ -netdev tap,id=net3,script=no,downscript=/tmp/rmtap,ifname=xcbr3_t2,queues=1 \ -device igb,bus=pcie_port.3,netdev=net3,mac=00:00:00:01:03:02 Load IGB/IGBVF modules if needed. modprobe igb modprobe igbvf Create VFs via /sys ls /sys/bus/pci/devices/0000:01:00.0/ echo 2 > /sys/bus/pci/devices/0000:01:00.0/sriov_numvfs Sriram Yagnaraman (5): pcie: add helper function to get number of VFs hw/net/net_tx_pkt: helper function to get l2 hdr hw/net/igb: register definitions hw/net/igb: emulated intel IGB (82576EB) network device hw/net/igb: build support for igb/igbvf devices hw/i386/Kconfig | 1 + hw/net/Kconfig | 5 + hw/net/e1000_regs.h | 357 +++- hw/net/e1000x_common.c | 13 + hw/net/e1000x_common.h | 28 + hw/net/igb.c | 627 ++++++ hw/net/igb.h | 184 ++ hw/net/igb_core.c | 3782 +++++++++++++++++++++++++++++++++++ hw/net/igb_core.h | 216 ++ hw/net/igbvf.c | 262 +++ hw/net/meson.build | 2 + hw/net/net_tx_pkt.c | 17 +- hw/net/net_tx_pkt.h | 8 + hw/net/trace-events | 190 ++ hw/pci/pcie_sriov.c | 6 + include/hw/pci/pcie_sriov.h | 5 + 16 files changed, 5671 insertions(+), 32 deletions(-) create mode 100644 hw/net/igb.c create mode 100644 hw/net/igb.h create mode 100644 hw/net/igb_core.c create mode 100644 hw/net/igb_core.h create mode 100644 hw/net/igbvf.c -- 2.34.1