Re: [PATCH net-next v4 02/15] net: build socket infrastructure for QUIC protocol
Stefan Metzmacher <[email protected]> Thu, 30 Oct 2025 15:17:33 +0100
| Newsgroups | dev.linux.lists.quic,dev.linux.lists.kernel-tls-handshake,org.kernel.vger.linux-cifs,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
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 */ I'll do the same for IPPROTO_SMBDIRECT... metze