Re: [PATCH net-next v4 02/15] net: build socket infrastructure for QUIC protocol
Xin Long <[email protected]> Thu, 30 Oct 2025 10:28:01 -0400
| Newsgroups | dev.linux.lists.quic,dev.linux.lists.kernel-tls-handshake,org.kernel.vger.linux-cifs,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CADvbK_cPEnNfcUXaHm3Aub0dkerqnwG4NB_EJ_eQZTc80c28_Q@mail.gmail.com> |
On Thu, Oct 30, 2025 at 10:17 AM Stefan Metzmacher <[email protected]> wrote: > > Am 30.10.25 um 15:13 schrieb Xin Long: > > On Thu, Oct 30, 2025 at 7:29 AM Stefan Metzmacher <[email protected]> wrote: > >> > >> Am 29.10.25 um 20:57 schrieb Xin Long: > >>> On Wed, Oct 29, 2025 at 12:22 PM Stefan Metzmacher <[email protected]> wrote: > >>>> > >>>> Hi Xin, > >>>> > >>>>> This patch lays the groundwork for QUIC socket support in the kernel. > >>>>> It defines the core structures and protocol hooks needed to create > >>>>> QUIC sockets, without implementing any protocol behavior at this stage. > >>>>> > >>>>> Basic integration is included to allow building the module via > >>>>> CONFIG_IP_QUIC=m. > >>>>> > >>>>> This provides the scaffolding necessary for adding actual QUIC socket > >>>>> behavior in follow-up patches. > >>>>> > >>>>> Signed-off-by: Pengtao He <[email protected]> > >>>>> Signed-off-by: Xin Long <[email protected]> > >>>> > >>>> ... > >>>> > >>>>> +module_init(quic_init); > >>>>> +module_exit(quic_exit); > >>>>> + > >>>>> +MODULE_ALIAS("net-pf-" __stringify(PF_INET) "-proto-261"); > >>>>> +MODULE_ALIAS("net-pf-" __stringify(PF_INET6) "-proto-261"); > >>>> > >>>> Shouldn't this use MODULE_ALIAS_NET_PF_PROTO(PF_INET, IPPROTO_QUIC) > >>>> instead? > >>>> > >>> Hi, Stefan, > >>> > >>> If we switch to using MODULE_ALIAS_NET_PF_PROTO(), we still need to > >>> keep using the numeric value 261: > >>> > >>> MODULE_ALIAS_NET_PF_PROTO(PF_INET, 261); > >>> MODULE_ALIAS_NET_PF_PROTO(PF_INET6, 261); > >>> > >>> IPPROTO_QUIC is defined as an enum, not a macro. Since > >>> MODULE_ALIAS_NET_PF_PROTO() relies on __stringify(proto), it can’t > >>> stringify enum values correctly, and it would generate: > >>> > >>> alias: net-pf-10-proto-IPPROTO_QUIC > >>> alias: net-pf-2-proto-IPPROTO_QUIC > >> > >> Yes, now I remember... > >> > >> Maybe we can use something like this: > >> > >> - IPPROTO_QUIC = 261, /* A UDP-Based Multiplexed and Secure Transport */ > >> +#define __IPPROTO_QUIC 261 /* A UDP-Based Multiplexed and Secure Transport */ > >> + IPPROTO_QUIC = __IPPROTO_QUIC, > >> > >> and then > >> > >> MODULE_ALIAS_NET_PF_PROTO(PF_INET, __IPPROTO_QUIC) > >> > >> In order to make things clearer. > >> > >> What do you think? > >> > > That might be a good idea to make things clearer later on. > > > > But for now, I’d prefer not to add something special just for QUIC in > > include/uapi/linux/in.h. We can revisit it later together with SCTP, > > L2TP, and SMC to keep things consistent. > > Ok, maybe this would do it for now? > > MODULE_ALIAS_NET_PF_PROTO(PF_INET, 261); /* IPPROTO_QUIC == 261 */ > Yep, fine by me. :-) > I'll do the same for IPPROTO_SMBDIRECT... > > metze