From: Stephen Hemminger <stephen@networkplumber.org>
To: Alexander Aring <aahringo@redhat.com>
Cc: "Stefan Metzmacher" <metze@samba.org>,
"Steve French" <smfrench@gmail.com>,
"Aurélien Aptel" <aaptel@suse.com>,
"Network Development" <netdev@vger.kernel.org>,
linux-nfs <linux-nfs@vger.kernel.org>,
CIFS <linux-cifs@vger.kernel.org>,
"Leif Sahlberg" <lsahlber@redhat.com>,
"Steven Whitehouse" <swhiteho@redhat.com>
Subject: Re: quic in-kernel implementation?
Date: Tue, 8 Jun 2021 15:33:49 -0700 [thread overview]
Message-ID: <20210608153349.0f02ba71@hermes.local> (raw)
In-Reply-To: <CAK-6q+g3_9g++wQGbhzBhk2cp=0fb3aVL9GoAoYNPq6M4QnCdQ@mail.gmail.com>
On Tue, 8 Jun 2021 17:03:16 -0400
Alexander Aring <aahringo@redhat.com> wrote:
> Hi,
>
> On Tue, Jun 8, 2021 at 3:36 AM Stefan Metzmacher <metze@samba.org> wrote:
> ...
> >
> > > 2) then switch focus to porting a smaller C userspace implementation of
> > > QUIC to Linux (probably not msquic since it is larger and doesn't
> > > follow kernel style)
> > > to kernel in fs/cifs (since currently SMB3.1.1 is the only protocol
> > > that uses QUIC,
> > > and the Windows server target is quite stable and can be used to test against)> 3) use the userspace upcall example from step 1 for
> > > comparison/testing/debugging etc.
> > > since we know the userspace version is stable
> >
> > 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.
>
> - Alex
>
Socket state management is complex and timers etc in userspace are hard.
next prev parent reply other threads:[~2021-06-08 22:34 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-07 15:25 quic in-kernel implementation? Alexander Ahring Oder Aring
2021-06-07 16:45 ` Aurélien Aptel
2021-06-08 3:04 ` Steve French
2021-06-08 7:36 ` Stefan Metzmacher
2021-06-08 21:03 ` Alexander Aring
2021-06-08 22:33 ` Stephen Hemminger [this message]
2021-06-09 16:48 ` Jakub Kicinski
2021-06-09 18:44 ` Alexander Aring
2021-06-13 12:17 ` David Laight
2021-06-13 18:08 ` Alexander Aring
2021-06-08 21:26 ` Chuck Lever III
2021-06-07 17:29 ` Chuck Lever III
2021-06-08 20:51 ` Vadim Fedorenko
2021-06-08 21:06 ` Alexander Aring
2021-06-09 0:27 ` Vadim Fedorenko
2021-09-05 14:09 ` Eric Curtin
2021-09-05 23:38 ` Steve French
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210608153349.0f02ba71@hermes.local \
--to=stephen@networkplumber.org \
--cc=aahringo@redhat.com \
--cc=aaptel@suse.com \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=lsahlber@redhat.com \
--cc=metze@samba.org \
--cc=netdev@vger.kernel.org \
--cc=smfrench@gmail.com \
--cc=swhiteho@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).