Dynamically adjusting the number of flows allowed in a flow table cache
First Claim
1. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program comprising sets of instructions for:
- setting a maximum number of flow entries allowed in a flow cache to a first maximum number, each of a plurality of the flow entries used for processing packets that match a set of match conditions of the flow entry;
with the first maximum number of flow entries stored in the flow cache, iterating through the flow cache to perform a set of operations on each flow entry in the flow cache;
determining a duration of time spent for said iterating through the flow cache to perform said set of operations; and
based on the determined duration, changing the maximum number of flow entries allowed in the flow cache from the first maximum number to a second, different maximum number.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a physical forwarding element that dynamically adjusts the number of flows allowed in a flow table cache. In adjusting, the physical forwarding element initially sets the maximum number of flows allowed in the cache. From the flow table cache, the physical forwarding then iterates through the set maximum number of flows and records the length of time it took to iterate through the flows. Based on the duration, the physical forwarding element then automatically adjusts the size of the flow table cache by increasing or decreasing the number of flows allowed in the cache. Alternatively, the physical forwarding element may choose to keep the cache size the same based on the duration.
179 Citations
20 Claims
-
1. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program comprising sets of instructions for:
-
setting a maximum number of flow entries allowed in a flow cache to a first maximum number, each of a plurality of the flow entries used for processing packets that match a set of match conditions of the flow entry; with the first maximum number of flow entries stored in the flow cache, iterating through the flow cache to perform a set of operations on each flow entry in the flow cache; determining a duration of time spent for said iterating through the flow cache to perform said set of operations; and based on the determined duration, changing the maximum number of flow entries allowed in the flow cache from the first maximum number to a second, different maximum number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. For a forwarding element, a method of adjusting the size of a cache, the method comprising:
-
setting a maximum number of flow entries allowed in a flow cache to a first maximum number, each of a plurality of the flow entries used for processing packets that match a set of match conditions of the flow entry; with the first maximum number of flow entries stored in the flow cache, iterating through the flow cache to perform a set of operations on each flow entry in the flow cache; determining a duration of time spent for said iterating through the flow cache to perform said set of operations; and based on the determined duration, changing the maximum number of flow entries allowed in the flow cache from the first maximum number to a second, different maximum number. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification