summaryrefslogtreecommitdiff
path: root/INSTALL.DPDK.md
diff options
context:
space:
mode:
authorMark D. Gray <mark.d.gray@intel.com>2015-01-29 15:22:53 +0000
committerThomas Graf <tgraf@noironetworks.com>2015-01-29 16:34:36 +0100
commit491c2ea3230f53ecbe65a556a0a1cc68647d7b99 (patch)
tree65bc74a0c945b534a72d6212ee1eaa266a3e31a6 /INSTALL.DPDK.md
parentebdabd05e9465dd6e50adedb4a0bcb5678e563de (diff)
downloadopenvswitch-491c2ea3230f53ecbe65a556a0a1cc68647d7b99.tar.gz
INSTALL.DPDK: Update documentation to indicate VFIO support
Since DPDK 1.7, VFIO is supported in place of UIO. This allows a user to avoid having to insert a non-standard kernel module. This patch updates the documentation with instructions for setting up OVS with VFIO. As part of this work, VFIO was also successfully tested with OVS and the DPDK netdev. [tgraf: Added some more markdown formatting] Signed-off-by: Mark D. Gray <mark.d.gray@intel.com> Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
Diffstat (limited to 'INSTALL.DPDK.md')
-rw-r--r--INSTALL.DPDK.md25
1 files changed, 22 insertions, 3 deletions
diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
index c105c4b1b..4c443e57c 100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -81,9 +81,27 @@ Using the DPDK with ovs-vswitchd:
`default_hugepagesz=1GB hugepagesz=1G hugepages=1`
2. Setup DPDK devices:
- 1. insert uio.ko: `modprobe uio`
- 2. insert igb_uio.ko: `insmod $DPDK_BUILD/kmod/igb_uio.ko`
- 3. Bind network device to igb_uio: `$DPDK_DIR/tools/dpdk_nic_bind.py --bind=igb_uio eth1`
+
+ DPDK devices can be setup using either the VFIO (for DPDK 1.7+) or UIO
+ modules. UIO requires inserting an out of tree driver igb_uio.ko that is
+ available in DPDK. Setup for both methods are described below.
+
+ * UIO:
+ 1. insert uio.ko: `modprobe uio`
+ 2. insert igb_uio.ko: `insmod $DPDK_BUILD/kmod/igb_uio.ko`
+ 3. Bind network device to igb_uio:
+ `$DPDK_DIR/tools/dpdk_nic_bind.py --bind=igb_uio eth1`
+
+ * VFIO:
+
+ VFIO needs to be supported in the kernel and the BIOS. More information
+ can be found in the [DPDK Linux GSG].
+
+ 1. Insert vfio-pci.ko: `modprobe vfio-pci`
+ 2. Set correct permissions on vfio device: `sudo /usr/bin/chmod a+x /dev/vfio`
+ and: `sudo /usr/bin/chmod 0666 /dev/vfio/*`
+ 3. Bind network device to vfio-pci:
+ `$DPDK_DIR/tools/dpdk_nic_bind.py --bind=vfio-pci eth1`
3. Mount the hugetable filsystem
@@ -292,3 +310,4 @@ Please report problems to bugs@openvswitch.org.
[INSTALL.userspace.md]:INSTALL.userspace.md
[INSTALL.md]:INSTALL.md
+[DPDK Linux GSG]: http://www.dpdk.org/doc/guides/linux_gsg/build_dpdk.html#binding-and-unbinding-network-ports-to-from-the-igb-uioor-vfio-modules