summaryrefslogtreecommitdiff
path: root/INSTALL.DPDK-ADVANCED.md
Commit message (Collapse)AuthorAgeFilesLines
* doc: Convert INSTALL to rSTStephen Finucane2016-10-181-1/+1
| | | | | Signed-off-by: Stephen Finucane <stephen@that.guru> Signed-off-by: Russell Bryant <russell@ovn.org>
* doc: Update DPDK pdump documentationMark Kavanagh2016-10-131-4/+12
| | | | | | | | | | | | | The DPDK pdump sample app was renamed from 'dpdk_pdump' to 'dpdk-pdump'. Update references to same within INSTALL.DPDK-ADVANCED.md. Add an additional sample command line that shows how to capture all traffic traversing an interface within a single pcap file - a useful tool for debugging DPDK-related issues. Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Allow configurable queue sizes for 'dpdk' portsCiara Loftus2016-09-301-2/+18
| | | | | | | | | | | | | The 'options:n_rxq_desc' and 'n_txq_desc' fields allow the number of rx and tx descriptors for dpdk ports to be modified. By default the values are set to 2048, but can be modified to an integer between 1 and 4096 that is a power of two. The values can be modified at runtime, however require the NIC to restart when changed. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Acked-by: Yunhong Jiang <yunhong.jiang@linux.intel.com> Acked-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Add new 'dpdkvhostuserclient' port typeCiara Loftus2016-09-191-44/+58
| | | | | | | | | | The 'dpdkvhostuser' port type no longer supports both server and client mode. Instead, 'dpdkvhostuser' ports are always 'server' mode and 'dpdkvhostuserclient' ports are always 'client' mode. Suggested-by: Daniele Di Proietto <diproiettod@vmware.com> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* INSTALL.DPDK-ADVANCED.md: Remove execute permissions.Justin Pettit2016-09-191-0/+0
| | | | | Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* INSTALL.DPDK-ADVANCED.md: Fix incorrect numberingCiara Loftus2016-08-181-1/+1
| | | | | | Fixes: 419876444357 ("netdev-dpdk: Remove dpdkvhostcuse ports") Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: vHost client mode and reconnectCiara Loftus2016-08-151-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | Until now, vHost ports in OVS have only been able to operate in 'server' mode whereby OVS creates and manages the vHost socket and essentially acts as the vHost 'server'. With this commit a new mode, 'client' mode, is available. In this mode, OVS acts as the vHost 'client' and connects to the socket created and managed by QEMU which now acts as the vHost 'server'. This mode allows for reconnect capability, which allows a vHost port to resume normal connectivity in event of switch reset. By default dpdkvhostuser ports still operate in 'server' mode. That is unless a valid 'vhost-server-path' is specified for a device like so: ovs-vsctl set Interface dpdkvhostuser0 options:vhost-server-path=/path/to/socket 'vhost-server-path' represents the full path of the vhost user socket that has been or will be created by QEMU. Once specified, the port stays in 'client' mode for the remainder of its lifetime. QEMU v2.7.0+ is required when using OVS in vHost client mode and QEMU in vHost server mode. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Remove dpdkvhostcuse portsCiara Loftus2016-08-151-242/+0
| | | | | | | | | | | | | | | | | | | This commit removes the 'dpdkvhostcuse' port type from the userspace datapath. vhost-cuse ports are quickly becoming obsolete as the vhost-user port type begins to support a greater feature-set thanks to the addition of things like vhost-user multiqueue and potential upcoming features like vhost-user client-mode and vhost-user reconnect. The feature is also expected to be removed from DPDK soon. One potential drawback of the removal of this support is that a userspace vHost port type is not available in OVS for use with older versions of QEMU (pre v2.2). Considering v2.2 is nearly two years old this should however be a low impact change. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Acked-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Ilya Maximets <i.maximets@samsung.com>
* INSTALL.DPDK-ADVANCED: Fix number and indentation in jumbo framesBhanuprakash Bodireddy2016-08-141-19/+19
| | | | | | | | Fix numbering in jumbo frames subsection and indentation for markdown editor viewer. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: add support for jumbo framesMark Kavanagh2016-08-121-3/+55
| | | | | | | | | | | | | | | | | | | | | Add support for Jumbo Frames to DPDK-enabled port types, using single-segment-mbufs. Using this approach, the amount of memory allocated to each mbuf to store frame data is increased to a value greater than 1518B (typical Ethernet maximum frame length). The increased space available in the mbuf means that an entire Jumbo Frame of a specific size can be carried in a single mbuf, as opposed to partitioning it across multiple mbuf segments. The amount of space allocated to each mbuf to hold frame data is defined dynamically by the user with ovs-vsctl, via the 'mtu_request' parameter. Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com> Signed-off-by: Ilya Maximets <i.maximets@samsung.com> [diproiettod@vmware.com rebased] Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: add DPDK pdump capabilityCiara Loftus2016-08-121-2/+36
| | | | | | | | | | | | | | | This commit provides the ability to 'listen' on DPDK ports and save packets to a pcap file with a DPDK app that uses the librte_pdump library. One such app is the 'pdump' app that can be found in the DPDK 'app' directory. Instructions on how to use this can be found in INSTALL.DPDK-ADVANCED.md Pdump capability in OVS with DPDK will only be initialised if the CONFIG_RTE_LIBRTE_PMD_PCAP=y and CONFIG_RTE_LIBRTE_PDUMP=y options are set in DPDK. libpcap is required if the above configuration is used. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* INSTALL.DPDK-ADVANCED: Add vhost multiqueue loopback testcase.Bhanuprakash Bodireddy2016-08-091-0/+86
| | | | | | | | Add steps for loopback test using vhost-user configured with multiqueue doing packet forwarding in kernel. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Make libnuma dependencies optionalCiara Loftus2016-08-041-1/+1
| | | | | | | | | | Prior to this patch, OVS with DPDK required the libnuma packages to build. This patch removes this dependency, making it only a requirement when the CONFIG_RTE_LIBRTE_VHOST_NUMA option is detected as enabled in the DPDK build. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Add support for DPDK 16.07Ciara Loftus2016-08-031-4/+4
| | | | | | | | | | | | | | | This commit introduces support for DPDK 16.07 and consequently breaks compatibility with DPDK 16.04. DPDK 16.07 introduces some changes to various APIs. These have been updated in OVS, including: * xstats API: changes to structure of xstats * vhost API: replace virtio-net references with 'vid' Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Tested-by: Maxime Coquelin <maxime.coquelin@redhat.com> Tested-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Add Flow Control support.Sugesh Chandran2016-07-291-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for flow-control(mac control frame) to DPDK enabled physical port types. By default, the flow-control is OFF on both rx and tx side. The flow control can be enabled/disabled either when adding a port to OVS or at run time. For eg: To enable flow control support at tx side while adding a port, add the 'tx-flow-ctrl' option to the 'ovs-vsctl add-port' command-line as below. 'ovs-vsctl add-port br0 dpdk0 -- \ set Interface dpdk0 type=dpdk options:tx-flow-ctrl=true' Similarly to enable rx flow control, 'ovs-vsctl add-port br0 dpdk0 -- \ set Interface dpdk0 type=dpdk options:rx-flow-ctrl=true' And to enable the flow control auto-negotiation, 'ovs-vsctl add-port br0 dpdk0 -- \ set Interface dpdk0 type=dpdk options:flow-ctrl-autoneg=true' To turn ON the tx flow control at run time(After the port is being added to OVS), the command-line input will be, 'ovs-vsctl set Interface dpdk0 options:tx-flow-ctrl=true' The flow control parameters can be turned off by setting 'false' to the respective parameter. To dsiable the flow control at tx side, 'ovs-vsctl set Interface dpdk0 options:tx-flow-ctrl=false' Signed-off-by: Sugesh Chandran <sugesh.chandran@intel.com> Acked-by: Bhanuprakash Bodireddy <Bhanuprakash.bodireddy@intel.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* netdev-dpdk: Obtain number of queues for vhost ports from attached virtio.Ilya Maximets2016-07-081-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, there are few inconsistencies in ways to configure number of queues for netdev device: * dpif-netdev can't know about exact number of queues allocated inside netdev. This leads to constant mapping of queue-ids to 'real' ones. * We are able to configure 'n_rxq' for vhost-user devices, but there is only one sane number of rx queues which must be used and configured manually (number of queues that allocated in QEMU). This patch disables configuration of 'n_rxq' for DPDK vHost devices. Configuration of rx and tx queues now automatically applied from connected virtio device. Standard reconfiguration mechanism was used to apply this changes. Also, now 'n_txq' and 'n_rxq' are always the real numbers of queues in the device. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* INSTALL.DPDK: Refactor DPDK install guide, add ADVANCED docBhanuprakash Bodireddy2016-07-061-0/+858
Add INSTALL.DPDK-ADVANCED document that is forked off from original INSTALL.DPDK guide. This document is targeted at users looking for optimum performance on OVS using dpdk datapath. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>