<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linux-kvm.org/index.php?action=history&amp;feed=atom&amp;title=Using_VirtIO_NIC</id>
	<title>Using VirtIO NIC - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linux-kvm.org/index.php?action=history&amp;feed=atom&amp;title=Using_VirtIO_NIC"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Using_VirtIO_NIC&amp;action=history"/>
	<updated>2026-05-08T13:06:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Using_VirtIO_NIC&amp;diff=1836&amp;oldid=prev</id>
		<title>WikiSysop at 13:44, 4 February 2009</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Using_VirtIO_NIC&amp;diff=1836&amp;oldid=prev"/>
		<updated>2009-02-04T13:44:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Using virtio_net For The Guest NIC =                            &lt;br /&gt;
The following is done using Debian Lenny, with the 2.6.25 kernel installed from Sid.&lt;br /&gt;
* install the guest OS as per normal, using rtl8139 or e1000 for the guest NIC      &lt;br /&gt;
* boot into the guest as per normal                                                 &lt;br /&gt;
* edit /etc/apt/sources.list to add a sid repo                                      &lt;br /&gt;
* install the 2.6.25 kernel                                                         &lt;br /&gt;
* boot into the guest using the 2.6.25 kernel                                       &lt;br /&gt;
* edit /etc/initramfs-tools/modules and add &amp;#039;&amp;#039;&amp;#039;virtio&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;virtio_pci&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;virtio_ring&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;virtio_net&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;virtio_blk&amp;#039;&amp;#039;&amp;#039;                                                                                 &lt;br /&gt;
* update the initramfs using &amp;#039;&amp;#039;&amp;#039;update-initramfs -u&amp;#039;&amp;#039;&amp;#039;                                                   &lt;br /&gt;
* shutdown the guest                                                                                     &lt;br /&gt;
* change the &amp;#039;&amp;#039;&amp;#039;-net nic&amp;#039;&amp;#039;&amp;#039; option to include &amp;#039;&amp;#039;&amp;#039;model=virtio&amp;#039;&amp;#039;&amp;#039;                                         &lt;br /&gt;
* boot the guest                                                                                         &lt;br /&gt;
&lt;br /&gt;
= Throughput Tests Using iperf =&lt;br /&gt;
To see what the throughput differences would be like, I ran a bunch of iperf tests from a Debian guest.&lt;br /&gt;
&lt;br /&gt;
== Host Server Config ==&lt;br /&gt;
* Tyan h2000M motherboard&lt;br /&gt;
* 2x dual-core Opteron 2220 CPUs @ 2.8 GHz&lt;br /&gt;
* 8 GB DDR2-667 ECC SDRAM (2x 2 GB sticks per CPU)&lt;br /&gt;
* 3Ware 9650SE-16ML SATA-II RAID Controller       &lt;br /&gt;
* 12x 500 GB SATA-II harddrives in a single RAID-6 array&lt;br /&gt;
* Intel PRO/1000-MT PCIe quad-port gigabit NIC (configured as 4-port bond0, used as the kvm bridge)&lt;br /&gt;
* Debian Lenny installed, updated June 04, 2008, with kvm-69 and kernel 2.6.25 (kernel from Sid)   &lt;br /&gt;
&lt;br /&gt;
== Guest VM Config ==&lt;br /&gt;
* 1 CPU              &lt;br /&gt;
* 2 GB RAM           &lt;br /&gt;
* 100 GB virtual harddrive (via LVM)&lt;br /&gt;
* Debian Lenny with kernel 2.6.25 from Sid&lt;br /&gt;
* /usr/bin/kvm -name mail -daemonize -localtime -usb -usbdevice tablet -smp 1 -m 1048 -vnc :04 -pidfile /var/run/kvm/mail.pid -net nic,macaddr=00:16:3e:00:00:04,model=virtio -net tap,ifname=tap04 -boot c -drive index=0,media=disk,if=virtio,boot=on,file=/dev/mapper/vol0-mail&lt;br /&gt;
&lt;br /&gt;
== iperf Server Config ==&lt;br /&gt;
* iperf -s -w 65536 -p 12345 -I 5&lt;br /&gt;
&lt;br /&gt;
== iperf Client Configs ==&lt;br /&gt;
* [1] iperf -c &amp;lt;server&amp;gt; -w 65536 -p 12345 -t 60&lt;br /&gt;
* [2] iperf -c &amp;lt;server&amp;gt; -w 65536 -p 12345 -t 60 -d&lt;br /&gt;
* [3] iperf -c &amp;lt;server&amp;gt; -w 65536 -p 12345 -t 60 -P 4&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
These are averaged over 3 runs.&lt;br /&gt;
&lt;br /&gt;
To the host (virtio)&lt;br /&gt;
* [1] 92 Mbps&lt;br /&gt;
&lt;br /&gt;
To a server connected to a gigabit port on the same switch (virtio)&lt;br /&gt;
* [1] 834 Mbps&lt;br /&gt;
* [2] 519 Mbps out, 531 Mbps in&lt;br /&gt;
* [3] 906 Mbps combined&lt;br /&gt;
&lt;br /&gt;
To a server connected to a gigabit port on the same switch (e1000)&lt;br /&gt;
* [1] 296 Mbps&lt;br /&gt;
* [2] 259 Mbps out, 62 Mbps in&lt;br /&gt;
* [3] 302 Mbps combined&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>