SECURE RECEIVE PACKET PROCESSING FOR NETWORK FUNCTION VIRTUALIZATION APPLICATIONS
First Claim
1. A system comprising:
- a memory;
one or more processors in communication with the memory; and
an operating system (OS) executing on the one or more processors configured to;
map a receive ring into a first memory of an application, wherein the mapping includes a permission that prevents modification of a plurality of descriptors,map the first memory into a second memory of a kernel,receive a request to rearm the plurality of descriptors, andinitialize the first descriptor of the plurality of descriptors; and
the one or more processors configured to execute a packet processing thread and a rearming thread, which are configured to;
read, by the packet processing thread, a receive ring, whereinthe receive ring includes packets, andthe packets have packet information,retrieve, by the packet processing thread, the packet information within the receive ring,process, by the packet processing thread, the packets,notify, by the packet processing thread, the rearming thread that a batch size limit is reached, andrequest, by the rearming thread, the OS to rearm the plurality of descriptors.
1 Assignment
0 Petitions
Accused Products
Abstract
A transmit packet processing system includes a memory, one or more processors in communication with the memory, and an operating system. The one or more processors execute a packet processing thread and a rearming thread. The OS maps a receive ring into a first memory of an application and maps the first memory into kernel memory. The packet processing thread reads a receive ring. The packet processing thread retrieves the packet information within the receive ring. The packet processing thread processes the packets. The packet processing thread notifies the rearming thread that a batch size limit is reached and the rearming thread requests the OS to rearm the plurality of descriptors. The OS receives the request and initializes the first descriptor of the plurality of descriptors.
46 Citations
20 Claims
-
1. A system comprising:
-
a memory; one or more processors in communication with the memory; and an operating system (OS) executing on the one or more processors configured to; map a receive ring into a first memory of an application, wherein the mapping includes a permission that prevents modification of a plurality of descriptors, map the first memory into a second memory of a kernel, receive a request to rearm the plurality of descriptors, and initialize the first descriptor of the plurality of descriptors; and the one or more processors configured to execute a packet processing thread and a rearming thread, which are configured to; read, by the packet processing thread, a receive ring, wherein the receive ring includes packets, and the packets have packet information, retrieve, by the packet processing thread, the packet information within the receive ring, process, by the packet processing thread, the packets, notify, by the packet processing thread, the rearming thread that a batch size limit is reached, and request, by the rearming thread, the OS to rearm the plurality of descriptors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
mapping, by an operating system (OS), a receive ring into a first memory of an application, wherein the mapping includes a permission that prevents modification of a plurality of descriptors; mapping, by the OS, the first memory into a second memory of a kernel; and receiving, by the OS, a request to rearm the plurality of descriptors by a rearming thread, wherein the rearming thread is notified that a batch size limit is reached by a packet processing thread, and the packet processing thread reads and retrieves packet information; and
initializing, by the OS, the first descriptor of the plurality of descriptors. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
reading, by a packet processing thread, a receive ring, wherein the receive ring includes packets, and the packets have packet information; retrieving, by the packet processing thread, the packet information within the receive ring; processing, by the packet processing thread, the packets; notifying, by the packet processing thread, a rearming thread that a batch size limit is reached; and requesting, by the rearming thread, an OS to rearm a plurality of descriptors. - View Dependent Claims (18, 19, 20)
-
Specification