Hardware-accelerated service mesh
A method of managing data streaming processes may include at a processing device, computing hypertext transmission protocol version 3 (HTTP/3) header of a first message received at a first network interface controller (NIC) into a first control message and a second control message, and transmitting the first control message to the first NIC associated with the processing device. The method may further include transmitting the second control message to a second NIC associated with the processing device, and with the first control message and the second control message, transmitting data directly between the first NIC and the second NIC.
1. A non-transitory computer-readable medium storing instructions that, when executed, causes a processor to perform operations, comprising:
at a processing device, computing a hypertext transmission protocol version 3 (HTTP/3) header of a first message received at a first network interface controller (NIC) of a source computing device within a mesh network into a first control message and a second control message;
transmitting the first control message to the first NIC, wherein the first control message defines a destination computing device to which a payload is to be sent;
transmitting the second control message to a second NIC of a requesting computing device within the mesh network and communicatively coupled to the processing device, wherein the second control message defines instructions to the destination computing device to expect the payload; and
with the first control message and the second control message, transmitting data directly between the first NIC and the second NIC.
2. The non-transitory computer-readable medium of claim 1 , the operations further comprising:
copying the HTTP/3 header of the first message to a cache associated with the processing device;
generating a response header based on the HTTP/3 header;
transmitting the response header to the second NIC;
including the response header in a first data packet based on the second control message; and
transmitting the first data packet to a destination device based on the second control message.
3. The non-transitory computer-readable medium of claim 1 , the operations further comprising:
with the first NIC:
extracting first data from a first data packet received at the first NIC based on the first control message; and
transmitting the first data to the second NIC based on the first control message.
4. The non-transitory computer-readable medium of claim 3 , the operations further comprising:
with the second NIC:
generating a second data packet;
encapsulating the first data in the second data packet based on the second control message; and
transmitting the second data packet from the second NIC to a destination computing device.
5. The non-transitory computer-readable medium of claim 4 , the operations further comprising:
with the second NIC:
extracting second data from a third data packet received at the second NIC based on the second control message; and
transmitting the second data to the first NIC based on the second control message.
6. The non-transitory computer-readable medium of claim 5 , the operations further comprising:
with the first NIC:
generating a fourth data packet;
encapsulating the second data in the fourth data packet based on the first control message; and
transmitting the fourth data packet from the first NIC to a source computing device.
7. A method of managing data streaming processes, comprising:
at a processing device, computing hypertext transmission protocol version 3 (HTTP/3) header of a first message received at a first network interface controller (NIC) of a source computing device within a mesh network into a first control message and a second control message;
transmitting the first control message to the first NIC, wherein the first control message defines a destination computing device to which a payload is to be sent;
transmitting the second control message to a second NIC of a requesting computing device within the mesh network and communicatively coupled to the processing device, wherein the second control message defines instructions to the destination computing device to expect the payload; and
with the first control message and the second control message, transmitting data directly between the first NIC and the second NIC.
8. The method of claim 7 , further comprising:
copying the HTTP/3 header of the first message to a cache associated with the processing device;
generating a response header based on the HTTP/3 header;
transmitting the response header to the second NIC;
including the response header in a first data packet based on the second control message; and
transmitting the first data packet to a destination device based on the second control message.
9. The method of claim 7 , further comprising:
with the first NIC:
extracting first data from a first data packet received at the first NIC based on the first control message; and
transmitting the first data to the second NIC based on the first control message.
10. The method of claim 9 , further comprising:
with the second NIC:
generating a second data packet;
encapsulating the first data in the second data packet based on the second control message; and
transmitting the second data packet from the second NIC to a destination computing device.
11. The method of claim 10 , further comprising:
with the second NIC:
extracting second data from a third data packet received at the second NIC based on the second control message; and
transmitting the second data to the first NIC based on the second control message.
12. The method of claim 11 , further comprising:
with the first NIC:
generating a fourth data packet;
encapsulating the second data in the fourth data packet based on the first control message; and
transmitting the fourth data packet from the first NIC to a source computing device.
13. A system comprising:
a processor; and
a non-transitory computer-readable media storing instructions that, when executed by the processor, causes the processor to perform operations comprising:
at the processor, computing a hypertext transmission protocol version 3 (HTTP/3) header of a first message received at a first network interface controller (NIC) of a source computing device within a mesh network into a first control message and a second control message;
transmitting the first control message to the first NIC, wherein the first control message defines a destination computing device to which a payload is to be sent;
transmitting the second control message to a second NIC of a requesting computing device within the mesh network and communicatively coupled to the processor, wherein the second control message defines instructions to the destination computing device to expect the payload; and
with the first control message and the second control message, transmitting data directly between the first NIC and the second NIC.
14. The system of claim 13 , the operations further comprising:
copying the HTTP/3 header of the first message to a cache associated with the processor;
generating a response header based on the HTTP/3 header;
transmitting the response header to the second NIC;
including the response header in a first data packet based on the second control message; and
transmitting the first data packet to a destination device based on the second control message.
15. The system of claim 13 , the operations further comprising:
with the first NIC:
extracting first data from a first data packet received at the first NIC based on the first control message; and
transmitting the first data to the second NIC based on the first control message.
16. The system of claim 15 , the operations further comprising:
with the second NIC:
generating a second data packet;
encapsulating the first data in the second data packet based on the second control message; and
transmitting the second data packet from the second NIC to a destination computing device.
17. The system of claim 16 , the operations further comprising:
with the second NIC:
extracting second data from a third data packet received at the second NIC based on the second control message; and
transmitting the second data to the first NIC based on the second control message.
18. The system of claim 17 , the operation further comprising:
with the first NIC:
generating a fourth data packet;
encapsulating the second data in the fourth data packet based on the first control message; and
transmitting the fourth data packet from the first NIC to a source computing device.