Sorry - step 4 below is incorrect: There is a copy between guest OS and guest user-space. Now the question is - what is the different of # of copies (copies of packet from host to guest application) between this setup (OVS-DPDK) and setup with standard OVS (no dpdk) Best regards
> -----Original Message----- > From: Avi Cohen (A) > Sent: Tuesday, 23 May, 2017 4:27 PM > To: [email protected] > Subject: VHOST-USER interface between ovs-dpdk and a VM > > Hi, > I'm trying to understand the packet life-cycle in ovs-dpdk (running on > host) > communicating with a VM through vhost-user interface: > 1. packet is received via physical port to the device. > 2.DMA transfer to mempools on huge-pages allocated by dpdk-ovs - in user- > space. > 3. ovs-dpdk copies this packet to the shared-vring of the associated guest > (shared between ovs-dpdk userspace process and guest) [Avi Cohen (A)] 4. no more copies in > the guest - i.e. when any application running on the guest wants to consume > the > packet - there is a zero copy between the shared-vring and the guest > application. > > Is that correct ? how 4 is implemented ? this is a communication between OS > in guest and application in guest . so how this is implemented with zero copy > ? > > Best Regards > avi
