diff --git a/docs/Documentation_Index.xml b/docs/Documentation_Index.xml
index 2a3bdd5d5..fddcf9f5f 100644
--- a/docs/Documentation_Index.xml
+++ b/docs/Documentation_Index.xml
@@ -341,6 +341,15 @@
+
+
+ KVM (Kernel-mode Virtual
+ Machine)
+
+
+
+
+
diff --git a/docs/KVM.xml b/docs/KVM.xml
new file mode 100644
index 000000000..34cfa0f93
--- /dev/null
+++ b/docs/KVM.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+ KVM (Kernel-mode Virtual Machine)
+
+
+
+ Tom
+
+ Eastep
+
+
+
+
+
+
+ 2008
+
+ Thomas M. Eastep
+
+
+
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License, Version
+ 1.2 or any later version published by the Free Software Foundation; with
+ no Invariant Sections, with no Front-Cover, and with no Back-Cover
+ Texts. A copy of the license is included in the section entitled
+ GNU Free Documentation
+ License.
+
+
+
+
+ Introduction
+
+ Kernel-mode Virtual Machines (http://kvm.qumranet.com/) is a
+ virtualization platform that leverages the virtualization capabilities
+ available with current microprocessors from both
+ Intel and AMD. For an
+ overview of KVM, please see my 2008 Linuxfest Northwest
+ presentation.
+
+ I use KVM to implement a number of virtual machines running various
+ Linux Distributions. The following diagram shows the entire
+ network.
+
+
+
+ My personal laptop (Ursa) hosts the virtual machines. As shown in
+ the diagram, Ursa has routes to the internet through both the
+ Linksys WRT300N and through my Shorewall firewall.
+ This allows me to test the Shorewall Multi-ISP
+ feature, even though I only have a single internet
+ connection
+
+ The Linux Bridges shown in the diagram are, of course, actually
+ within their associated system (Firewall or Ursa) but I've pictured them
+ separately.
+
+
+
+ Networking Configuration
+
+ I use a network configuration where each VM has it's own VNET and
+ tap device and the tap devices are all configured as ports on a Linux
+ Bridge. For clarity, I've only shown four of the virtual machines
+ available on the system.
+
+
+
+ I run a DHCP server on the host to assign IP addresses to the VMs
+ and I also run dmsmasq to act as a nameserver for the VMs. The latter is
+ important when I take the laptop on the road. I'm currently running a
+ separate ISC DHCP server but I have it on my todo list to configure
+ dnsmasq as a DHCP server, thus eliminating one process on the
+ system.
+
+ The bridge is configured using the script described in my Linuxfest
+ presentation linked above. The script may be found at http://www.shorewall.net/pub/shorewall/contrib/kvm/kvm.
+
+ With this configuration, and with only a single network interface on
+ the laptop, this is just a simple two-interface masquerading setup where the
+ local network interface is br0. As
+ with all bridges, br0 must be
+ configured with the option in shorewall-interfaces(5).
+
+
\ No newline at end of file
diff --git a/docs/images/KVM1.dia b/docs/images/KVM1.dia
new file mode 100644
index 000000000..23418c15e
Binary files /dev/null and b/docs/images/KVM1.dia differ
diff --git a/docs/images/KVM1.png b/docs/images/KVM1.png
new file mode 100644
index 000000000..0b8183f4c
Binary files /dev/null and b/docs/images/KVM1.png differ
diff --git a/docs/images/Network2008.dia~ b/docs/images/Network2008.dia~
deleted file mode 100644
index 0e140a8f2..000000000
Binary files a/docs/images/Network2008.dia~ and /dev/null differ
diff --git a/docs/useful_links.xml b/docs/useful_links.xml
index 7a94d9ee8..0425535d7 100644
--- a/docs/useful_links.xml
+++ b/docs/useful_links.xml
@@ -64,12 +64,12 @@
LEAF Site: http://leaf-project.org/
+ url="http://leaf.sourceforge.net">http://leaf.sourceforge.net
- Bering LEAF Distribution: http://leaf.sourceforge.net/doc/guide/
+ Bering uClibc LEAF Distribution: http://leaf.sourceforge.net/bering-uclibc/