From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tetsuya Mukawa Subject: Re: Why the offloads of the guest's virtio-net network adapter are disabled when vhost-user is used? Date: Tue, 25 Aug 2015 12:22:32 +0900 Message-ID: <55DBDF78.2090507@igel.co.jp> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit To: leo zhu , dev@dpdk.org Return-path: Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com [209.85.220.42]) by dpdk.org (Postfix) with ESMTP id 566255A5D for ; Tue, 25 Aug 2015 05:22:35 +0200 (CEST) Received: by pacti10 with SMTP id ti10so38883284pac.0 for ; Mon, 24 Aug 2015 20:22:34 -0700 (PDT) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 2015/08/24 22:09, leo zhu wrote: > Hi all, > > I am running the vhost sample application on my server. > > According to the dpdk-sample-applications-user-guide.pdf, I run the Virtual > Machine with vhost-user enabled. > Following is the command that is used to run the virtual machine. > > > > > > > *qemu-system-x86_64 /root/leo/ubuntu-1.img -enable-kvm -m 1024 -vnc :5 > -chardev \socket,id=char1,path=/root/leo/dpdk-2.0.0/examples/vhost/usvhost > -netdev type=vhost-user, \id=mynet1,chardev=char1,vhostforce -device > virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1 \-object > memory-backend-file,id=mem,size=1024M,mem-path=/dev/hugepages,share=on > -numa node,memdev=mem -mem-prealloc* > > After the Virtual Machine is started, I found the offloads of the > Virtual Machine's virtio-net network adapter > are all disabled*.* The offloads status is checked with command* > ethtool -k eth0*. I try to enables the offloads with ethtool command, > but it does not work. > > My questions are: > > 1. Can the offloads of the guest's virtio-net network adapter be > enabled when vhost-user is used? Hi Leo, I guess we need additional implementations in librte_vhost to enable offloads. > 2. If the offloads can't be enabled when vhost-user is used, what is the reason? Features are negotiated not olny between virtio-net driver on guest and virtio-net device in QEMU, but also virtio-net device in QEMU and vhost-user backend in librte_vhost. As a result, if vhost-user backend doesn't support some features, virtio-net driver on guest also cannot use them. Please see "lib/librte_vhost/virtio-net.c" /* Features supported by this lib. */ #define VHOST_SUPPORTED_FEATURES ((1ULL << VIRTIO_NET_F_MRG_RXBUF) | \ (1ULL << VIRTIO_NET_F_CTRL_VQ) | \ (1ULL << VIRTIO_NET_F_CTRL_RX) | \ (1ULL << VHOST_F_LOG_ALL)) This is all current librte_vhost supports. Thanks, Tetsuya > It will be great if someone from the forum could give the answers and clues. > > Thanks. > Leo