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

Jason Wang
2018-11-16T06:35:07Z

On 2018/11/16 上午10:32, jiangyiwen wrote:
>>>>>> Note, if we've negotiated the feature, virtio-net driver must not use register_netdev to register it to network core. This can avoid lots of confusion.
>>>>> Hi Jason,
>>>>>
>>>>> You mean we should not register netdev if use vsock, and in order to
>>>>> avoid confusion, then I think whether we should keep vsock and export
>>>>> some virtio-net's functions that can be shared. In this way, first, vsock
>>>>> may keep existing architecture and will not affect virtio-net.
>>>> At least it needs new feature bits which will be a functional duplication of virtio-net (e.g mrg_rxbuf).
>>> Hi Jason,
>>>
>>> Actually I mean only use some shared function to make vsock support these
>>> features, in that way, guest see the device is still vsock device instead of
>>> virtio-net device, in addition, it can have less codes and easier to be
>>> compatible with old vsock version.
>> Yes, I think we're talking about same thing. Both of us want to share codes. What you want is to export and share some common helpers between virtio-net and vsock. What I meant is to e.g probe vsock device and merge vsock specific codes into virtio-net driver. I agree it's not a small project. We can start from e.g patches that try to share the codes. This could also give us inspiration for how to unify them.
>>
>>
> Then we have two ways to implement it.
> 1. For Guest, it is a virtio-net device(VIRTIO_ID_NET),
> use a feature bit(e.g VIRTIO_NET_F_VSOCK) to distinguish
> vsock special device and other virtio-net device. For old
> vsock device, it still use old driver to drive it.
>
> 2. For Guest, it is a virtio-vsock device(VIRTIO_ID_VSOCK),
> use virtio device id to distinguish them, it will integrate
> old driver, but it may be more complicated, because it needs
> to consider the compatibility with old vsock device.

This looks even better, btw what compatibility do you mean here? Looking
at vsock driver, it does not have vosck specific feature.

Thanks