Performing a multi-stage lookup to classify packets
US-2017237664-A1 · Aug 17, 2017 · US
US10230647B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10230647-B2 |
| Application number | US-201615337081-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 28, 2016 |
| Priority date | Apr 30, 2014 |
| Publication date | Mar 12, 2019 |
| Grant date | Mar 12, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A data packet processing method, Where the method includes matching a received data packet in a flow table, and determining the received data packet as a newly-established data packet, where the newly-established data packet is a data packet that needs to be reported to a controller to determine a processing manner, determining a target priority of the newly-established data packet, and reporting the newly-established data packet to the controller according to the target priority. Priorities of data packets entering an OPENFLOW switch are determined, and for unsuccessfully matched data packets, a data packet having a high priority is forwarded preferentially according to the priorities, thereby ensuring that data having a high priority is not discarded.
Opening claim text (preview).
What is claimed is: 1. A data packet processing method, comprising: matching, by a processor, a received data packet in a flow table; determining, by the processor, that the received data packet is a newly-established data packet, wherein the newly-established data packet is a data packet that needs to be reported to a controller to determine a processing manner; determining, by the processor, a target priority of the newly-established data packet, wherein the target priority indicates a priority at which to send the newly-established data packet to the controller and a priority at which the controller processes the newly-established data packet; and reporting, by a transmitter coupled to the processor, the newly-established data packet to the controller according to the target priority. 2. The method according to claim 1 , wherein information reported to the controller comprises information about the target priority of the newly-established data packet, wherein the controller processes the received newly-established data packet according to the target priority. 3. The method according to claim 1 , wherein determining the target priority of the newly-established data packet comprises: executing, by the processor, a priority update instruction in a flow entry to update a priority of the newly-established data packet when the flow entry that matches the newly-established data packet is found in the flow table; determining, by the processor, the updated priority as the target priority of the newly-established data packet; and determining, by the processor, an initial priority as the target priority of the newly-established data packet when the flow entry that matches the newly-established data packet is not found in the flow table. 4. The method according to claim 3 , wherein before matching the received data packet in the flow table, the method further comprises setting, by the processor, the initial priority for the received data packet. 5. The method according to claim 3 , wherein the flow table is a multi-flow table, and wherein executing the priority update instruction in the flow entry to update the priority of the newly-established data packet when the flow entry that matches the newly-established data packet is found in the flow table comprises executing the priority update instruction in the flow entry to update the priority of the newly-established data packet when the flow entry that matches the newly-established data packet is found in a current flow table in the multi-flow table, wherein determining the initial priority as the target priority of the newly-established data packet when the flow entry that matches the newly-established data packet is not found in the flow table comprises: using, by the processor, the initial priority of the newly-established data packet as the target priority when the flow entry that matches the newly-established data packet is not found in the current flow table in the multi-flow table and the current flow table is a first flow table in the multi-flow table; and using, by the processor, a priority determined for the newly-established data packet in a previous flow table of the current flow table as the target priority when the flow entry that matches the newly-established data packet is not found in the current flow table in the multi-flow table and the current flow table is not the first flow table in the multi-flow table. 6. The method according to claim 3 , wherein the method further comprises: receiving, by a receiver coupled to the processor, a flow table processing command delivered by the controller, wherein the flow table processing command comprises the priority update instruction; and establishing, by the processor, the flow entry in the flow table according to the flow table processing command, wherein an instruction set of the flow entry is the priority update instruction. 7. The method according to claim 1 , wherein reporting the newly-established data packet to the controller according to the target priority comprises: encapsulating, by the processor, information about the newly-established data packet and the target priority that corresponds to the newly-established data packet to obtain a data packet message; and reporting, by the processor, the data packet message to the controller according to the target priority. 8. A data packet processing device, comprising: a memory configured to store a software program; and a central processing unit (CPU) coupled to the memory and configured to run the software program to: match a received data packet in a flow table; determine that the received data packet is a newly-established data packet, wherein the newly-established data packet is a data packet that needs to be reported to a controller to determine a processing manner, determine a target priority of the newly-established data packet, wherein the target priority indicates a priority at which to send the newly-established data packet to the controller and a priority at which the controller processes the newly-established data packet; and report the newly-established data packet to the controller according to the target priority. 9. The device according to claim 8 , wherein information reported to the controller comprises information about the target priority of the newly-established data packet, wherein the controller processes the received newly-established data packet according to the target priority. 10. The device according to claim 8 , wherein the CPU is configured to: execute a priority update instruction in a flow entry to update a priority of the newly-established data packet when the flow entry that matches the newly-established data packet is found in the flow table; determine the updated priority as the target priority of the newly-established data packet; and determine an initial priority as the target priority of the newly-established data packet when the flow entry that matches the newly-established data packet is not found in the flow table. 11. The device according to claim 10 , wherein the CPU is further configured to set the initial priority for the received data packet before matching the received data packet in the flow table. 12. The device according to claim 10 , wherein the flow table is a multi-flow table, and wherein the CPU is further configured to: execute the priority update instruction in the flow entry to update the priority of the newly-established data packet when the flow entry that matches the newly-established data packet is found in a current flow table in the multi-flow table; use the initial priority of the newly-established data packet as the target priority when the flow entry that matches the newly-established data packet is not found in the current flow table in the multi-flow table and the current flow table is a first flow table in the multi-flow table; and use a priority determined for the newly-established data packet in a previous flow table of the current flow table as the target priority when the flow entry that matches the newly-established data packet is not found in the current flow table in the multi-flow table and the current flow table is not the first flow table in the multi-flow table. 13. The device according to claim 10 , wherein the CPU is further configured to: receive a flow table processing command delivered by the controller, wherein the flow table processing command comprises the priority update instruction; and establish the flow entry in the flow table according to the flow table processing command, wherein an instruction set of the flow entry is the priority update instruction. 14. The d
using an overlay routing layer · CPC title
Address table lookup; Address filtering · CPC title
relying on flow classification, e.g. using integrated services [IntServ] · CPC title
Flow based routing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.