Message ID | 1455621759-93416-3-git-send-email-mark.b.kavanagh@intel.com |
---|---|
State | Not Applicable |
Headers | show |
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 --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: --------------
Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com> --- INSTALL.DPDK.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)