[Taken] Kernel-based QUIC implementation

The Quick UDP Internet Connections (QUIC) protocol has been proposed as the transport protocol for HTTP3. The protocol is based on the User Datagram Protocol (UDP) and facilitates a number of features in comparison to the traditional Transmission Control Protocol (TCP) such as streams and connection identifiers. Current, implementations of this protocol have been realised in libraries at the user level.

This project will investigate an implementation of QUIC at the kernel level and the changes to APIs and existing libraries that are necessary for a QUIC implementation to act at the kernel level. One challenge with an implementation of QUIC at the kernel level is that the protocol relies on certificates and encryption libraries that provide TLS support. As part of the project, solutions such as kernel-level TLS implementations such as kTLS may provide suitable alternatives to traditional user-level libraries. An evaluation of the implemented solution could then compare the advantages and disadvantages of a kernel-level approach against existing user-level and kernel-level implementations.