[dpdk-dev] Can xenvirt pmd work in xen guest (aka DomU) without xen-vhost in Dom0 ?

Stephen Hemminger stephen at networkplumber.org
Wed Oct 11 00:57:11 CEST 2017


On Mon, 9 Oct 2017 00:13:47 +0800
"Tan, Jianfeng" <jianfeng.tan at intel.com> wrote:

> Hi,
> 
> 
> On 10/8/2017 12:54 PM, Bill Bonaparte wrote:
> > Thanks Jianfeng for taking time to reply.
> >
> > please allow me to briefly explain why I want to run dpdk on xen.
> > our system is based on dpdk, which means we use dpdk as packet 
> > receive/transmit engine,
> > and with integrated dpdk virtio/vmxnet3 driver, our system can run on 
> > KVM/VMware platform .
> > this year, we have plan to run our system on AWS cloud, but I found 
> > that AWS
> > uses xen as its virtualization platform, and the bus-info of nic is 
> > vif-x (x could be 0,1,2...),
> > the driver used in kernel is vif. this should be para-virtualized nic 
> > used on xen.  
> 
> My guess is exactly as you describe. In AWS, we lack of a PMD for xen 
> netfront (vif) nic. And even we got such a PMD, we still need a PMD for 
> xen netback. Both are missing.
> 
> >
> > I don't know which dpdk drvier can manage this pv nic. then I see 
> > xenvirt, I think this driver can
> > did this job, like virtio can manage virtio nic which is used on kvm.
> > unfortunately, after some study work, I run testpmd successfully on 
> > xen, but no packets received.
> >
> > with the informain got from you, I know It's need to run vhost_xen at 
> > dom0 so that xenvirt at domU can work.
> > but for my case, I have no change to run vhost_xen at dom0, because I 
> > only can operate my own domU.
> >
> > for this case, If I want to run system which is based on dpdk at domU, 
> > what should I do?
> > appreciate any idea or suggestion from you.  
> 
> What kind of performance are you seeking? Only accelerating the frontend 
> by a new PMD, i.e. netfront, we can bypass the VM kernel (). But without 
> accelerating the backend, it only brings limited improvement.

Brocade wrote a xen net-front driver. It was never integrated upstream
and had many issues (such as pretending to be PCI and it wasn't).




More information about the dev mailing list