Efficient capture and streaming of data packets
First Claim
1. A method for efficient capture and streaming of data packets in a network device having an input port configured to receive packets from a network and an output port configured to deliver the packets to a target device connected thereto, the method comprising:
- capturing, by a programmable processor, data packets matching predetermined filters that match flow filters defined for each port;
packaging said data packets into samples;
aggregating one or more samples in a high-speed bus payload;
transferring, from said programmable processor, said high speed bus payload to a Central Processing Unit (CPU);
extracting said samples from the high-speed bus payload and storing said samples in a shared memory of the CPU, the shared memory located in a kernel space of the CPU; and
accessing said samples from the shared memory for streaming to one or more client.
6 Assignments
0 Petitions
Accused Products
Abstract
What is disclosed is a method for efficient capture and streaming of data packets in a network device comprises capturing data packets matching predetermined filters, packaging said data packets into samples, and aggregating one or more samples in a high speed bus payload. The method also comprises transferring said high speed bus payload to a CPU, extracting said samples from the high speed bus payload and storing said samples in a shared memory of the CPU, and accessing said samples from the shared memory for streaming to one or more client.
17 Citations
19 Claims
-
1. A method for efficient capture and streaming of data packets in a network device having an input port configured to receive packets from a network and an output port configured to deliver the packets to a target device connected thereto, the method comprising:
-
capturing, by a programmable processor, data packets matching predetermined filters that match flow filters defined for each port; packaging said data packets into samples; aggregating one or more samples in a high-speed bus payload; transferring, from said programmable processor, said high speed bus payload to a Central Processing Unit (CPU); extracting said samples from the high-speed bus payload and storing said samples in a shared memory of the CPU, the shared memory located in a kernel space of the CPU; and accessing said samples from the shared memory for streaming to one or more client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network device comprising:
-
an input port configured to receive packets from a network; an output port configured to deliver the packets to a target device connected thereto; a flow server having a packet capture engine in a programmable processor and a Central Processing Unit (CPU), the flow server is configured to; analyze, by the programmable processor, the packets to identify at least one target packet; and create meta-data containing information related to the at least one target packet, wherein the packet capture engine is configured to; capture a copy of the at least one target packet that matches flow filters defined for each port; create a sample comprising the meta-data and the copy of the at least one target packet; and transfer the sample to the CPU; and a flow client coupled to the flow server and configured to receive the sample from the flow server and store the sample in a database, wherein the sample is aggregated by the flow server in a high-speed bus payload and is transferred to the CPU. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium comprising instructions, which when executed by a processor, cause the processor to:
-
receive packets from a network through an input port; deliver the packets to a target device connected thereto through an output port; capture, by a programmable processor, one or more data packets of a packet flow matching predetermined filters defined for each port; package the one or more data packets into a sample; aggregate one or more samples in a high-speed bus payload; transfer, from the programmable processor, said high speed bus payload to Central Processing Unit (CPU); extract the one or more samples from the high-speed bus payload; store the one or more samples in a shared memory of the CPU, the shared memory located in a kernel space of the CPU; and access the one or more samples from the shared memory for streaming to one or more client. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification