US 12,010,195 B2
Efficient flow management utilizing control packets
Brijesh Singh, Mercer Island, WA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Oct. 4, 2022, as Appl. No. 17/959,941.
Application 17/959,941 is a continuation of application No. 17/244,727, filed on Apr. 29, 2021, granted, now 11,496,599.
Prior Publication US 2023/0024408 A1, Jan. 26, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 67/5683 (2022.01); H04L 45/02 (2022.01); H04L 47/35 (2022.01); H04L 69/22 (2022.01)
CPC H04L 67/5683 (2022.05) [H04L 45/04 (2013.01); H04L 47/35 (2013.01); H04L 69/22 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method, comprising:
determining, by an accelerator of a smart network interface card (smartNIC), that a cache entry is a candidate for removal, the cache entry being part of a cache that is managed by the accelerator, the cache entry storing flow state of a particular flow, the accelerator being responsible for forwarding packets associated with the particular flow based at least in part on the flow state, and the cache entry being indexed within the cache based at least in part on a hash that is generated based at least in part on flow information associated with the particular flow, and the flow information formatted utilizing a particular header format;
generating, by the accelerator, an instruction to remove the cache entry of the particular flow from the cache based at least in part on receiving the determination that the cache entry is the candidate for removal;
removing, by the accelerator, the cache entry of the particular flow from the cache based at least in part on the instruction;
generating, by the accelerator, a control packet that includes the flow information associated with the particular flow being formatted utilizing the particular header format; and
transmitting, by the accelerator, the control packet to a programming data plane utilizing a path that is used by the accelerator to forward non-control packets to the programming data plane, the path being utilized based at least in part on the control packet utilizing the particular header format.