IP Library Patent Application 15710452
Patent Application
App. No. 15/710,452

OPTIMIZATION OF MULTI-TABLE LOOKUPS FOR SOFTWARE-DEFINED NETWORKING SYSTEMS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
15/710,452
Abstract

To optimize the multi-table search process, the present disclosure defines a method in which searching across multiple OpenFlow tables is consolidated into searching across a set of three distinct flow caches called access control, application, and forward flow caches. Each OpenFlow table is mapped into one of these flow caches based on the size of the table and whether it contains flows of different priority. The mapping rule ensures that large (in terms of number of entries) OpenFlow tables with no conflicting priority rules are mapped to a flow cache. The disclosed techniques reduce the number of searches and, at the same time, selectively avoid a costly process of revalidation of entries in the flow cache when new higher-priority flows are added by the SDN controller.

Claims (29)

1 . A computer networking device for software-defined networking (SDN) that is administrable with a control plane protocol, the computer networking device comprising:

a memory to store multiple flow tables for handling a packet according to a datapath function configurable through the control plane protocol, the multiple flow tables including a pipeline of first, second, and third flow tables, the first flow table including first rules of different priorities, the second flow table including second rules sharing a common priority, and the third flow table including third rules that are matchable based on a prefix of a field of the packet;

one or more caches including first, second, and third flow caches to store active-flow information of the first, second, and third flow tables, respectively; and

datapath circuitry to process the packet based on the active-flow information of the first, second, and third flow caches so as to optimize a multi-table lookup process and facilitate the datapath function.

2 . The computer networking device of claim 1 , in which the datapath circuitry comprises a network processing unit.

3 . The computer networking device of claim 1 , in which the datapath circuitry is configured to process the packet by modifying it according to actions associated with the active-flow information.

4 . The computer networking device of claim 1 , in which the one or more caches comprise a ternary content-addressable memory (TCAM) for storing one or more of the first, second, and third flow caches.

5 . The computer networking device of claim 4 , in which the first flow cache comprises the TCAM.

6 . The computer networking device of claim 1 , in which the second flow cache comprises a hash table.

7 . The computer networking device of claim 1 , in which the third flow cache comprises a trie data structure.

8 . The computer networking device of claim 1 , in which the control plane protocol comprises messages from a controller, and in which the messages are translated into rules and actions deployed in the first, second, and third flow tables.

9 . The computer networking device of claim 1 , in which the first, second, and third flow tables comprise, respectively, a first set of flow tables, a second set of flow tables, and a third set of flow tables.

10 . A method of optimizing a multi-table lookup process, the method comprising:

storing in first, second, and third flow caches, respectfully, first, second, and third information obtained from corresponding flow tables, the first, second, and third information indicating actions to take for handling packets, and the first, second, and third flow caches being different from one another;

sequentially attempting to match a packet to the first, second, and third information; and

in response to the packet matching, applying the actions to egress the packet.

11 . The method of claim 10 , further comprising, in response to the packet not matching, passing the packet through the corresponding flow tables to obtain the first, second, and third information for storing in the first, second, and third flow caches and handling the packet.

12 . The method of claim 10 , further comprising, updating statistics in response to the packet matching.

13 . The method of claim 10 , in which the first information includes a unique identifier, and in which the method further comprises updating statistics associated with the unique identifier.

14 . The method of claim 10 , in which the second information includes a unique identifier, and in which the method further comprises updating statistics associated with the unique identifier.

15 . The method of claim 10 , in which the third information includes a unique identifier, and in which the method further comprises updating statistics associated with the unique identifier.

16 . The method of claim 10 , in which the first, second, and third information corresponds to information of active flows.

17 . The method of claim 10 , in which the first flow cache corresponds to one or more flow tables having rules of different priorities.

18 . The method of claim 10 , in which the second flow cache corresponds to one or more flow tables having rules of a single priority.

19 . The method of claim 10 , in which the third flow cache corresponds to one flow table having rules that are matchable based on a prefix of a field of the packet.

20 . The method of claim 10 , further comprising revalidating the first flow cache while maintaining the second and third flow caches.

21 . The method of claim 10 , further comprising:

storing a unique identifier for a cached rule corresponding to the first information; and

deleting the cached rule in response to a command including the unique identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2018
From: SHARMA, PRASHANT; ALLEMAN, ANDREW; SADAGOPAN, SRINIVAS; THAMMANNA, PRATHAP
To: RADISYS CORPORATION
Reel/Frame 044733/0621 →
SECURITY INTEREST Recorded Jan 3, 2018
From: RADISYS CORPORATION; RADISYS INTERNATIONAL LLC
To: HCP-FVG, LLC
Reel/Frame 044995/0671 →