diff mbox

[ovs-dev,V4,3/4] INSTALL.DPDK.md: add Jumbo Frames section

Message ID 1455621759-93416-3-git-send-email-mark.b.kavanagh@intel.com
State Not Applicable
Headers show

Commit Message

Mark Kavanagh Feb. 16, 2016, 11:22 a.m. UTC
Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
---
 INSTALL.DPDK.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

Comments

Mark Kavanagh Feb. 16, 2016, 11:35 a.m. UTC | #1
Please disregard this patch, as it was sent erroneously - the proper patchset has since been posted here: http://openvswitch.org/pipermail/dev/2016-February/066191.html.

Cheers,
Mark

>---

> INSTALL.DPDK.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

> 1 file changed, 59 insertions(+)

>

>diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md

>index 722fb9e..4ca98cb 100644

>--- a/INSTALL.DPDK.md

>+++ b/INSTALL.DPDK.md

>@@ -878,6 +878,60 @@ by adding the following string:

> to <interface> sections of all network devices used by DPDK. Parameter 'N'

> determines how many queues can be used by the guest.

>

>+Jumbo Frames

>+------------

>+

>+Support for Jumbo Frames may be enabled at run-time for DPDK-type ports.

>+

>+To avail of Jumbo Frame support, add the 'mtu_request' option to the ovs-vsctl

>+'add-port' command-line, along with the required MTU for the port.

>+e.g.

>+

>+     ```

>+     ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:mtu_request=9000

>+     ```

>+

>+When Jumbo Frames are enabled, the size of a DPDK port's mbuf segments are

>+increased, such that a full Jumbo Frame may be accommodated inside a single

>+mbuf segment. Once set, the MTU for a DPDK port is immutable.

>+

>+Note that from an OVSDB perspective, the `mtu_request` option for a specific

>+port may be disregarded once initially set, as subsequent modifications to this

>+field are disregarded by the DPDK port. As with non-DPDK ports, the MTU of DPDK

>+ports is reported by the `Interface` table's `mtu` field.

>+

>+Jumbo frame support has been validated against 13312B frames, using the

>+DPDK `igb_uio` driver, but larger frames and other DPDK NIC drivers may

>+theoretically be supported. Supported port types excludes vHost-Cuse ports, as

>+that feature is pending deprecation.

>+

>+vHost Ports and Jumbo Frames

>+----------------------------

>+Jumbo frame support is available for DPDK vHost-User ports only. Some additional

>+configuration is needed to take advantage of this feature:

>+

>+  1. `mergeable buffers` must be enabled for vHost ports, as demonstrated in

>+      the QEMU command line snippet below:

>+

>+      ```

>+      '-netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce \'

>+      '-device virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1,mrg_rxbuf=on'

>+      ```

>+

>+  2. Where virtio devices are bound to the Linux kernel driver in a guest

>+     environment (i.e. interfaces are not bound to an in-guest DPDK driver), the

>+     MTU of those logical network interfaces must also be increased. This

>+     avoids segmentation of Jumbo Frames in the guest. Note that 'MTU' refers

>+     to the length of the IP packet only, and not that of the entire frame.

>+

>+     e.g. To calculate the exact MTU of a standard IPv4 frame, subtract the L2

>+     header and CRC lengths (i.e. 18B) from the max supported frame size.

>+     So, to set the MTU for a 13312B Jumbo Frame:

>+

>+      ```

>+      ifconfig eth1 mtu 13294

>+      ```

>+

> Restrictions:

> -------------

>

>@@ -921,6 +975,11 @@ Restrictions:

>     the next release of DPDK (which includes the above patch) is available and

>     integrated into OVS.

>

>+  Jumbo Frames:

>+  - `virtio-pmd`: DPDK apps in the guest do not exit gracefully. This is a DPDK

>+     issue that is currently being investigated.

>+  - vHost-Cuse: Jumbo Frame support is not available for vHost Cuse ports.

>+

> Bug Reporting:

> --------------

>

>--

>1.9.3

>

>_______________________________________________

>dev mailing list

>dev@openvswitch.org

>http://openvswitch.org/mailman/listinfo/dev
diff mbox

Patch

diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
index 722fb9e..4ca98cb 100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -878,6 +878,60 @@  by adding the following string:
 to <interface> sections of all network devices used by DPDK. Parameter 'N'
 determines how many queues can be used by the guest.
 
+Jumbo Frames
+------------
+
+Support for Jumbo Frames may be enabled at run-time for DPDK-type ports.
+
+To avail of Jumbo Frame support, add the 'mtu_request' option to the ovs-vsctl
+'add-port' command-line, along with the required MTU for the port.
+e.g.
+
+     ```
+     ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:mtu_request=9000
+     ```
+
+When Jumbo Frames are enabled, the size of a DPDK port's mbuf segments are
+increased, such that a full Jumbo Frame may be accommodated inside a single
+mbuf segment. Once set, the MTU for a DPDK port is immutable.
+
+Note that from an OVSDB perspective, the `mtu_request` option for a specific
+port may be disregarded once initially set, as subsequent modifications to this
+field are disregarded by the DPDK port. As with non-DPDK ports, the MTU of DPDK
+ports is reported by the `Interface` table's `mtu` field.
+
+Jumbo frame support has been validated against 13312B frames, using the
+DPDK `igb_uio` driver, but larger frames and other DPDK NIC drivers may
+theoretically be supported. Supported port types excludes vHost-Cuse ports, as
+that feature is pending deprecation.
+
+vHost Ports and Jumbo Frames
+----------------------------
+Jumbo frame support is available for DPDK vHost-User ports only. Some additional
+configuration is needed to take advantage of this feature:
+
+  1. `mergeable buffers` must be enabled for vHost ports, as demonstrated in
+      the QEMU command line snippet below:
+
+      ```
+      '-netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce \'
+      '-device virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1,mrg_rxbuf=on'
+      ```
+
+  2. Where virtio devices are bound to the Linux kernel driver in a guest
+     environment (i.e. interfaces are not bound to an in-guest DPDK driver), the
+     MTU of those logical network interfaces must also be increased. This
+     avoids segmentation of Jumbo Frames in the guest. Note that 'MTU' refers
+     to the length of the IP packet only, and not that of the entire frame.
+
+     e.g. To calculate the exact MTU of a standard IPv4 frame, subtract the L2
+     header and CRC lengths (i.e. 18B) from the max supported frame size.
+     So, to set the MTU for a 13312B Jumbo Frame:
+
+      ```
+      ifconfig eth1 mtu 13294
+      ```
+
 Restrictions:
 -------------
 
@@ -921,6 +975,11 @@  Restrictions:
     the next release of DPDK (which includes the above patch) is available and
     integrated into OVS.
 
+  Jumbo Frames:
+  - `virtio-pmd`: DPDK apps in the guest do not exit gracefully. This is a DPDK
+     issue that is currently being investigated.
+  - vHost-Cuse: Jumbo Frame support is not available for vHost Cuse ports.
+
 Bug Reporting:
 --------------