Michael S. Tsirkin
2018-Nov-30 13:40 UTC
[RFC] Discuss about an new idea "Vsock over Virtio-net"
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. > > ThanksWhich code is duplicated between virtio vsock and virtio net right now? -- MST
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.
Michael S. Tsirkin
2018-Dec-04 01:31 UTC
[RFC] Discuss about an new idea "Vsock over Virtio-net"
On Mon, Dec 03, 2018 at 11:10:58AM +0800, jiangyiwen wrote:> 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.What I would do is just copy some code and show a performance benefit. If that works out it will be clearer which code should be shared. -- MST
Apparently Analagous Threads
- [RFC] Discuss about an new idea "Vsock over Virtio-net"
- [RFC] Discuss about an new idea "Vsock over Virtio-net"
- [RFC] Discuss about an new idea "Vsock over Virtio-net"
- [RFC] Discuss about an new idea "Vsock over Virtio-net"
- [PATCH 0/5] VSOCK: support mergeable rx buffer in vhost-vsock