Quick user datagram protocol (UDP) internet connections (QUIC) packet offloading
Embodiments include a method of opening a Quick User Datagram Protocol (UDP) Internet Connections (QUIC) socket on a computing platform, initializing QUIC packet processing of a hardware-based offloader, opening a QUIC connection to the offloader, and transmitting a first QUIC packet to the offloader over the QUIC connection. The hardware-based offloader encrypts and transmits the QUIC packet.
1 . At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
based on configuration of a device to perform offloaded processing of Quick User Datagram Protocol (UDP) Internet Connections (QUIC) short header packets:
configure the device to perform processing of QUIC short header packets by sending one or more communications to the device to configure the device with: source connection identifier (ID), destination connection ID, and QUIC cryptographic parameters comprising a QUIC key phase flag and to configure the device to track packet numbers of received and transmitted QUIC packets for cryptographic operations, wherein the device is to perform decryption of received QUIC short header packets based on the QUIC cryptographic parameters; and
based on the device not being configured to perform offload processing of the QUIC short header packets, cause processing of the QUIC short header packets received from the device by a host system executed software, wherein the processing of the QUIC short header packets received from the device by the host system executed software includes decrypting the short header packets and wherein the host system executed software is to process the QUIC short header packets received from the device by access to the source connection ID, the destination connection ID, and the QUIC cryptographic parameters.
2 . The at least one computer-readable medium of claim 1 , wherein the processing of QUIC short header packets by the device comprises:
encrypting QUJIC short header packets prior to transmission.
3 . The at least one computer-readable medium of claim 1 , wherein the processing of QUIC short header packets by the device comprises:
tracking packet numbers of QUIC short header packets and
encrypting QUIC short header packets based on the tracked packet numbers prior to transmission.
4 . The at least one computer-readable medium of claim 1 , wherein the processing of QUIC short header packets by the device comprises:
decrypting received QUIC short header packets.
5 . The at least one computer-readable medium of claim 1 , wherein the processing of QJIC short header packets by the device comprises:
tracking packet numbers of received QUIC short header packets and
decrypting the received QUIC short header packets based on the tracked packet numbers.
6 . The at least one computer-readable medium of claim 1 , wherein an operating system (OS) comprises the instructions.
7 . The at least one computer-readable medium of claim 1 , comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
setting up a connection with a second device based on transmission of QUIC long header packets.
8 . An apparatus comprising:
a network interface controller comprising:
a host interface;
a physical layer interface (PHY) circuitry;
a media access control (MAC) circuitry; and
circuitry to perform offload operations from a host system, when communicatively coupled to the host interface, the offload operations comprising:
based on configuration of the network interface controller to perform offloaded processing of Quick User Datagram Protocol (UDP) Internet Connections (QUIC) short header packets:
configure the circuitry to perform processing of QUIC short header packets based on received communications with source connection identifier (ID), destination connection ID, and QUIC cryptographic parameters comprising a QUIC key phase flag and received communications associated with packet number tracking of received and transmitted QUIC packets for cryptographic operations and
process at least one received QUIC short header packet by decryption of the at least one received QUIC short header packet based on the QUIC cryptographic parameters and
based on the network interface controller not being configured to perform offload processing of the QUIC short header packets, provide at least one unprocessed QUIC short header packet for processing by a software executed by the host system, wherein the processing by the software executed by the host system includes decryption of the unprocessed QUIC short header packet and wherein software executed by the host system is to process the QUIC short header packet received from the network interface controller by access to the source connection ID, the destination connection ID, and the QUIC cryptographic parameters.
9 . The apparatus of claim 8 , wherein the process the QUIC short header packets comprises:
encrypt QUIC short header packets prior to transmission.
10 . The apparatus of claim 8 , wherein the process the QUIC short header packets comprises:
track packet numbers of QUIC short header packets and
encrypt QUIC short header packets based on the tracked packet numbers prior to transmission.
11 . The apparatus of claim 8 , wherein the process the QUIC short header packets comprises:
decrypt received QUIC short header packets.
12 . The apparatus of claim 8 , wherein the process the QUIC short header packets comprises:
track packet numbers of received QUIC short header packets and
decrypt the received QUIC short header packets based on the tracked packet numbers.
13 . A method comprising:
based on configuration of a device to perform offloaded processing of Quick User Datagram Protocol (UDP) Internet Connections (QUIC) short header packets:
configuring the device to perform processing of QUIC short header packets by sending one or more communications to the device to configure the device with source connection identifier (ID), destination connection ID, and QUIC cryptographic parameters comprising a QUIC key phase flag and to configure the device to track packet numbers of received and transmitted QUIC packets for cryptographic operations, wherein the processing of QUIC short header packets comprises decryption of received QUIC short header packets based on the QUIC cryptographic parameters; and
based on the device not being configured to perform offload processing of the QUIC short header packet, causing processing of the QUIC short header packets, received by the device, by a host system executed software, wherein the processing of the QUIC short header packets includes decrypting the short header packets and wherein the host system executed software processes the QUIC short header packets received from the device by access to the source connection ID, the destination connection ID, and the QUIC cryptographic parameters.
14 . The method of claim 13 , wherein the processing of QUJIC short header packets by the device comprises:
encrypting QUI short header packets prior to transmission.
15 . The method of claim 13 , wherein the processing of QUIC short header packets by the device comprises:
tracking packet numbers of QUIC short header packets and
encrypting QUIC short header packets based on the tracked packet numbers prior to transmission.
16 . The method of claim 13 , wherein the processing of QUIC short header packets by the device comprises:
decrypting received QUIC short header packets.
17 . The method of claim 13 , wherein the processing of QUIC short header packets by the device comprises:
tracking packet numbers of received QUIC short header packets and
decrypting the received QUIC short header packets based on the tracked packet numbers.
18 . The method of claim 13 , wherein an operating system (OS) performs the configuring the device to perform processing of QUIC short header packets and causing processing of at least one QUIC short header packet received from the device by a host system executed software based on the device not performing offload processing of the at least one QUIC short header packet.
19 . The method of claim 13 , comprising:
setting up a connection with a second device based on transmission of QUIC long header packets.
20 . The method of claim 13 , wherein the device comprises a network interface device.