This is the life cycle of a typical flow.
Flow creation
- The SmartNIC Flow Matcher looks up the flow:
- If the flow is found (HIT): Actions are applied-
- If the flow is not found (MISS): The flow is forwarded to the Slow Path.
- The Application Flow Matcher or Flow Cache looks up the flow:
- If the flow is found (HIT): Actions are applied.
- If the flow is not found (MISS): The flow is forwarded to Application Learning.
- The application processes the packets and decides the actions (learning).
- The application programs the SmartNIC and Application Flow Tables and Actions.
- The creation time stamp and initial metrics are set in the Application Flow Table.
The steps are reflected in the life cycle diagram:
Flow termination
Flows can be terminated in three ways:
- The SmartNIC Flow Matcher recognizes TCP flow terminations. This can be configured on a per-flow basis.
- The SmartNIC Flow Scrubber reads the SmartNIC Flow Table and times out inactive flows. The timeout value is configured globally.
- The application can terminate (delete) a flow.
-
A Flow Info Record is generated and sent to the application (the NetFlow Generator part).Note: The Flow Info Record is sent to the same flow stream that configured the flow.
- The application (NetFlow Generator part) handles the Flow Info Records by:
- Merging the Flow Info Record metadata with metadata from the Application Flow Table
- Generating NetFlow/IPFIX records or similar, if required
Here is an alternative flow diagram: