Subject: Re: [RFC] Discuss about an new idea "Vsock over Virtio-net"

From: jiangyiwen <[email-masked]>
Date: Mon, 3 Dec 2018 11:10:58 +0800

On 2018/11/30 21:40, Michael S. Tsirkin wrote:
> On Fri, Nov 30, 2018 at 09:10:03PM +0800, Jason Wang wrote:
>>
>> On 2018/11/30 下午8:55, Jason Wang wrote:
>>>
>>> On 2018/11/30 下午8:52, Michael S. Tsirkin wrote:
>>>>>>    If you want to compare it with
>>>>>> something that would be TCP or QUIC.  The fundamental
>>>>>> difference between
>>>>>> virtio-vsock and e.g. TCP is that TCP operates in a packet
>>>>>> loss environment.
>>>>>> So they are using timers for reliability, and receiver is
>>>>>> always free to
>>>>>> discard any unacked data.
>>>>> Virtio-net knows nothing above L2, so they are totally
>>>>> transparent to device
>>>>> itself. I still don't get why not using virtio-net instead.
>>>>>
>>>>>
>>>>> Thanks
>>>> Is your question why is virtio-vsock used instead of TCP on top of IP
>>>> on top of virtio-net?
>>>>
>>>>
>>>
>>> No, my question is why not do vsock through virtio-net.
>>>
>>> Thanks
>>>
>>
>> Just to clarify, it's not about vosck over ethernet, and it's not about
>> inventing new features or APIs. It's probably something like:
>>
>> - Let virtio-net driver probe vsock device and do vosck specific things if
>> needed to share as much codes.
>>
>> - A new kind of sockfd (which is vsock based) for vhost-net for it to do
>> vsock specific things (hopefully it can be transparent).
>>
>> The change should be totally transparent to userspace applications.
>>
>> Thanks
> 
> Which code is duplicated between virtio vsock and virtio net right now?
> 

Hi Michael,

AFAIK, there is almost no duplicate code between virtio vsock and virtio net now.

But, if virtio vsock wants to support mergeable rx buffer and multiqueue feature,
it has some duplicate codes from virtio net. Based on it, we both think vsock
may use virtio net as a transport channel, in this way, vsock can use some of
virtio net great features.

Thanks,
Yiwen.