Thread (17 messages) 17 messages, 10 authors, 2021-09-05

Re: quic in-kernel implementation?

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-06-09 16:48:21
Also in: linux-cifs, linux-nfs

On Tue, 8 Jun 2021 15:33:49 -0700 Stephen Hemminger wrote:
On Tue, 8 Jun 2021 17:03:16 -0400
quoted
quoted
With having the fuse-like socket before it should be trivial to switch
between the implementations.    
So a good starting point would be to have such a "fuse-like socket"
component? What about having a simple example for that at first
without having quic involved. The kernel calls some POSIX-like socket
interface which triggers a communication to a user space application.
This user space application will then map everything to a user space
generated socket. This would be a map from socket struct
"proto/proto_ops" to user space and vice versa. The kernel application
probably can use the kernel_FOO() (e.g. kernel_recvmsg()) socket api
directly then. Exactly like "fuse" as you mentioned just for sockets.

I think two veth interfaces can help to test something like that,
either with a "fuse-like socket" on the other end or an user space
application. Just doing a ping-pong example.

Afterwards we can look at how to replace the user generated socket
application with any $LIBQUIC e.g. msquic implementation as second
step.
Socket state management is complex and timers etc in userspace are hard.
+1 seeing the struggles fuse causes in storage land "fuse for sockets"
is not an exciting temporary solution IMHO..
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help