2016-12-02 14:31, Jianfeng Tan: > In v16.07, we upstreamed a virtual device, virtio_user (with vhost-user > as the backend). The path to go with a vhost-kernel backend has been > dropped for bad performance comparing to vhost-user and code simplicity. > > But after a second thought, virtio_user + vhost-kernel is a good > candidate as an exceptional path, such as KNI, which exchanges packets > with kernel networking stack. > - maintenance: vhost-net (kernel) is upstreamed and extensively used > kernel module. We don't need any out-of-tree module like KNI. > - performance: as with KNI, this solution would use one or more > kthreads to send/receive packets from user space DPDK applications, > which has little impact on user space polling thread (except that > it might enter into kernel space to wake up those kthreads if > necessary. > - features: vhost-net is born to be a networking solution, which has > lots of networking related featuers, like multi queue, tso, multi-seg > mbuf, etc.
That's a really interesting trial. Have I already said that I don't like KNI? ;) > Known issues for current version: > - Multiqueue not supported yet. > - Offloading is completely enabled yet; to enhance, we will translate Is a "not" missing in this sentence? > the virtio header info into mbuf metadata when receiving packets > from kernel; and translate mbuf metadata info into virtio header > when sending packets to kernel. So what is the ambition for 17.02? Do you think it could be integrated?