[dpdk-dev] [PATCH v3 0/9] virtio/vhost: Add MTU feature support

Yao, Lei A lei.a.yao at intel.com
Tue Mar 28 07:39:55 CEST 2017


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Maxime Coquelin
> Sent: Monday, March 13, 2017 12:34 AM
> To: aconole at redhat.com; sodey at sonusnet.com;
> yuanhan.liu at linux.intel.com; Tan, Jianfeng <jianfeng.tan at intel.com>;
> thomas.monjalon at 6wind.com; dev at dpdk.org
> Cc: Maxime Coquelin <maxime.coquelin at redhat.com>
> Subject: [dpdk-dev] [PATCH v3 0/9] virtio/vhost: Add MTU feature support
> 
> This series adds support to new Virtio's MTU feature[1]. The MTU
> value is set via QEMU parameters.
> 
> If the feature is negotiated (i.e supported by both host and guest,
> and valid MTU value is set in QEMU via its host_mtu parameter), QEMU
> shares the configured MTU value throught dedicated Vhost protocol
> feature.
> 
> On vhost side, the value is stored in the virtio_net structure, and
> made available to the application thanks to new vhost lib's
> rte_vhost_get_mtu() function.
> 
> To be able to set eth_dev's MTU value at the right time, i.e. to call
> rte_vhost_get_mtu() just after Virtio features have been negotiated
> and before the device is really started, a new vhost flag has been
> introduced (VIRTIO_DEV_READY), because the VIRTIO_DEV_RUNNING flag is
> set too late (after .new_device() ops is called).
> 
> Regarding valid MTU values, the maximum MTU value accepted on vhost
> side is 65535 bytes, as defined in Virtio Spec and supported in
> Virtio-net Kernel driver. But in Virtio PMD, current maximum frame
> size is 9728 bytes (~9700 bytes MTU). So maximum MTU size accepted in
> Virtio PMD is the minimum between ~9700 bytes and host's MTU.
> 
> Finally, this series also adds MTU value printing  in testpmd's
> "show port info" command when non-zero.
> 
> This series target v17.05 release.
> 
> Cheers,
> Maxime
> 
> [1]: https://lists.oasis-open.org/archives/virtio-dev/201609/msg00128.html
> 
> Changes since v1:
> -----------------
> * Rebased on top of v17.02
> * Virtio PMD: ensure MTU value is valid before ack'ing the feature (Aaron)
> * Vhost lib/PMD: Remove MTU setting API/op (Yuanhan)
> 
> Changes since v2:
> -----------------
> * Update release notes (Thomas)
> * s/rte_vhost_mtu_get/rte_vhost_get_mtu/ (Yuanhan)
> * Use %"PRIu64" instead of %lu (Yuanhan)
> * Add rte_vhost_get_mtu in rte_vhost_version.map
> 
> Maxime Coquelin (9):
>   vhost: Enable VIRTIO_NET_F_MTU feature
>   vhost: vhost-user: Add MTU protocol feature support
>   vhost: Add new ready status flag
>   vhost: Add API to get MTU value
>   vhost: export MTU value
>   net/vhost: Fill rte_eth_dev's MTU property
>   net/virtio: Add MTU feature support
>   doc: announce Virtio and Vhost MTU support
>   app/testpmd: print MTU value in show port info
> 
>  app/test-pmd/config.c                  |  5 ++++
>  doc/guides/nics/features/virtio.ini    |  1 +
>  doc/guides/rel_notes/release_17_05.rst |  8 ++++++
>  drivers/net/vhost/rte_eth_vhost.c      |  2 ++
>  drivers/net/virtio/virtio_ethdev.c     | 45
> ++++++++++++++++++++++++++++++++--
>  drivers/net/virtio/virtio_ethdev.h     |  3 ++-
>  drivers/net/virtio/virtio_pci.h        |  3 +++
>  lib/librte_vhost/rte_vhost_version.map |  7 ++++++
>  lib/librte_vhost/rte_virtio_net.h      | 15 ++++++++++++
>  lib/librte_vhost/vhost.c               | 22 ++++++++++++++++-
>  lib/librte_vhost/vhost.h               |  9 ++++++-
>  lib/librte_vhost/vhost_user.c          | 44 +++++++++++++++++++++++++++---
> ---
>  lib/librte_vhost/vhost_user.h          |  5 +++-
>  13 files changed, 156 insertions(+), 13 deletions(-)
> 
> --
> 2.9.3
Hi, Maxime

If I want have a try for this MTU function, is there any specific requirement for the settings? 
Such as the qemu version, kernel version or any others? Looks like this feature are very new 
in Qemu and linux side. 
Thanks a lot!

BRs
Lei






More information about the dev mailing list