Techniques to manage a flow cache
First Claim
1. An apparatus comprising:
- logic to store entries in a flow cache;
logic to invalidate entries in the flow cache in part by increasing a time incrementing variable by a large increment;
logic to retrieve an entry from the flow cache in part in response to receipt of a packet;
logic to set a current time variable for the entry to be a sum of a current system time and the time incrementing variable; and
logic to determine whether the entry is valid in part based on the current time variable exceeding the expiration time of the entry.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described herein that may be used to invalidate all entries in a table. For example, the table may be a flow cache. For example, an expiry time may be associated with one or more entries in the table. The expiry time of an entry may be initially set to the sum of the system time, the expiry time of the protocol associated with the entry, and a global time variable. To check if the entry is expired at any time, the current system time may be added to the global time variable and if the result is greater than the expiry time in the entry, then the entry is expired. To invalidate all the entries, the global time variable may be incremented by a large amount which may equal the maximum expiry time of all protocols. This may cause all entries to expire. New entries may be added using the new incremented value of the global time variable and will hence not expire.
65 Citations
22 Claims
-
1. An apparatus comprising:
-
logic to store entries in a flow cache;
logic to invalidate entries in the flow cache in part by increasing a time incrementing variable by a large increment;
logic to retrieve an entry from the flow cache in part in response to receipt of a packet;
logic to set a current time variable for the entry to be a sum of a current system time and the time incrementing variable; and
logic to determine whether the entry is valid in part based on the current time variable exceeding the expiration time of the entry. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
invalidating entries in a table in part by increasing a time incrementing variable by a large increment;
identifying an entry in the table;
setting a current time variable for the entry to be a sum of a current system time and the time incrementing variable; and
determining whether the entry is valid in part based on the current time variable exceeding an expiration time of the entry. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A computer-readable medium comprising instructions stored thereon which when executed by a machine cause the machine to:
-
invalidate entries in a flow cache in part by increasing a time incrementing variable by a large increment;
determine a hash index based on a portion of a packet;
determine an entry from the flow cache based on the hash index; and
set a current time variable for the entry to be a sum of a current system time and the time incrementing variable, and determine whether the entry is valid in part based on the current time variable exceeding an expiration time of the entry. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A system comprising:
-
a system fabric;
a line card comprising;
a packet processor;
logic to store entries in a flow cache, logic to invalidate entries in the flow cache in part by increasing a time incrementing variable by a large increment, logic to retrieve an entry from the flow cache in part in response to receipt of a packet, logic to set a current time variable for the entry to be a sum of a current system time and the time incrementing variable, and logic to determine whether the entry is valid in part based on the current time variable exceeding the expiration time of the entry. - View Dependent Claims (19, 20, 21, 22)
-
Specification