QEMU/Devices/Network

Network cards can be added to QEMU very easily. It's somewhat of a special command because while it can be added through the standard way, there's a much easier way to add them by using -net nic,model=<model>.

Note that QEMU will always add a network card (e1000), even if -net nic is not specified. To disable this, add -net none to your startup arguments.

How to add a virtual card

You can add a card with the following:

qemu-system-(arch) -net nic,model=(model)

You may also need to add -net user to be able to access the internet correctly. To see a full list of network devices, add -net nic,model=? to the arguments.

Devices

x86

Model Name Bus Speed Description Minimum OS
rtl8139 Realtek 8139C+ Fast Ethernet PCI 10-100 Mb/s This card has built-in drivers on Windows XP+ and almost every modern Linux and BSD distribution. There are drivers available for Windows 95 and above from Realtek's website. There's also a packet driver available for MS-DOS and FreeDOS. Windows: Windows 95

Linux: Kernel 2.5.5

MS-DOS: MS-DOS 3.x

e1000 Intel PRO/1000 MT Desktop Adapter PCI 1 Gb/s This is the default card in QEMU. It is recommended for use in modern Windows and Linux hosts. Windows: Windows XP
virtio (virtio-net-pci) Red Hat Virtio Network Card PCI 10 Gb/s (as reported by link rate) The fastest paravirtualized network adapter QEMU supports. Modern Linux (and the last Intel macOS releases) have a built in driver, but Windows requires installation of a special driver. Its throughput is limited only by network conditions (topping at about 60-70 Gb/s on a Windows guest). Additionally, with supported network types (TAP, Open vSwitch, etc...), virtio supports vhost for moving the data plane into the kernel, reducing context switches and increasing performance further. Vhost can also be used with a user-space dataplane. Windows: Windows 2000
vmxnet3 VMware Paravirtual NIC PCI 1 Gb/s VMware's paravirtualized network adapter. Requires installation of a special driver. ?
pcnet AMD PCNet-Fast III Ethernet Adapter PCI 10 Mb/s AMD PCnet card. Recommended for older Linux and Windows guests. Windows: Windows 3.1
ne2k_pci Novell NE2000 PCI 10 Mb/s Novell NE2000 Ethernet card from the late 1980s. This card will work on older Windows hosts (Windows XP and below), Linux, QNX, BSD, and various UNIX hosts. It is recommended to use this with older hosts. While versions of Windows older than Windows XP do not include a driver for this card, there exists some third-party NE2000 compatible drivers available for Vista, 7, 8, 10. ?
ne2k_isa Novell NE2000 ISA 10 Mb/s NE2000 Ethernet card from the late 1980s. This runs on the ISA bus instead of the PCI bus. If your VM is emulating an ISA-only machine, and you want networking, then use this card. While versions of Windows older than Windows XP do not include a driver for this card, there exists some third-party NE2000 compatible drivers available for Vista, 7, 8, 10. ?
i82551 Intel i82551 ethernet PCI 10-100 Mb/s Intel i82551 ethernet card. ?
i82557b Intel i82557b ethernet PCI 10-100 Mb/s Intel i82557b ethernet card. ?
i82559er Intel i82559er ethernet PCI 10-100 Mb/s Intel i82559er ethernet card. ?
e1000-82544gc ? PCI ? ? ?
e1000-82545em Intel 82545em ethernet PCI 1 Gb/s Intel Network Card, emulated by e1000. Windows: Windows Server 2003
e1000e ? PCI ? ? ?
i82550 ? PCI ? ? ?
i82557a ? PCI ? ? ?
i82557c ? PCI ? ? ?
i82558a ? PCI ? ? ?
i82558b ? PCI ? ? ?
i82559a ? PCI ? ? ?
i82559b ? PCI ? ? ?
i82559c ? PCI ? ? ?
i82562 ? PCI ? ? ?
i82801 ? PCI ? ? ?