Life of a Flow

Stateful Flow Management

Platform
Napatech SmartNIC
Content Type
User Guide
Capture Software Version
Link™ Capture Software 12.6

This is the life cycle of a typical flow.

Flow creation

  1. The SmartNIC Flow Matcher looks up the flow:
    1. If the flow is found (HIT): Actions are applied-
    2. If the flow is not found (MISS): The flow is forwarded to the Slow Path.
  2. The Application Flow Matcher or Flow Cache looks up the flow:
    1. If the flow is found (HIT): Actions are applied.
    2. If the flow is not found (MISS): The flow is forwarded to Application Learning.
  3. The application processes the packets and decides the actions (learning).
  4. The application programs the SmartNIC and Application Flow Tables and Actions.
  5. The creation time stamp and initial metrics are set in the Application Flow Table.

The steps are reflected in the life cycle diagram:


Page-1 Sheet.1 Application Application Sheet.2 NIC NIC Sheet.3 Flow Director Flow Matcher Sheet.4 Flow Table FlowTable Sheet.5 Actions Actions Sheet.6 Flow Scrubber FlowScrubber Sheet.7 Flow Matcher Flow Matcher Sheet.8 Flow Table FlowTable Sheet.9 Actions Actions Sheet.10 Learning Learning Sheet.11 NetFlow Generator NetFlowGenerator Sheet.12 Sheet.13 Sheet.14 Sheet.15 Bent Arrow.14 Bent Arrow.21 Bent Arrow.23 Bent Arrow.25 Bent Arrow.26 Simple Arrow.28 HIT HIT Sheet.22 MISS MISS Sheet.23 MISS MISS Bottom to side 2 Bottom to side 2.34 Bottom to side 2.35 Bottom to side 2.36 Bent Arrow.22 Bent Arrow.20 Sheet.30 Sheet.31 Sheet.32 Sheet.33 MISS MISS Sheet.34 Sheet.35 Simple Arrow.49 Flow Record Flow Record Dynamic connector Sheet.38 Bent Arrow.24 Simple Arrow.29 HIT HIT Sheet.41 1a 1a Sheet.42 1b 1b Sheet.43 2a 2a Sheet.44 2b 2b Sheet.45 3 3 Sheet.46 4 & 5 4 & 5

Flow termination

Flows can be terminated in three ways:
  1. The SmartNIC Flow Matcher recognizes TCP flow terminations. This can be configured on a per-flow basis.
  2. The SmartNIC Flow Scrubber reads the SmartNIC Flow Table and times out inactive flows. The timeout value is configured globally.
  3. The application can terminate (delete) a flow.
When a flow is terminated:
  1. 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.
  2. The application (NetFlow Generator part) handles the Flow Info Records by:
    1. Merging the Flow Info Record metadata with metadata from the Application Flow Table
    2. Generating NetFlow/IPFIX records or similar, if required

Here is an alternative flow diagram:


Page-1 Sheet.1 Application Application Sheet.2 NIC NIC Sheet.3 Flow Director Flow Matcher Sheet.4 Flow Table FlowTable Sheet.5 Actions Actions Sheet.6 Flow Scrubber FlowScrubber Sheet.7 Flow Matcher Flow Matcher Sheet.8 Flow Table FlowTable Sheet.9 Actions Actions Sheet.10 Learning Learning Sheet.11 NetFlow Generator NetFlowGenerator Sheet.12 Sheet.13 Sheet.14 Sheet.15 Bent Arrow.14 Bent Arrow.21 Bent Arrow.23 Bent Arrow.25 Bent Arrow.26 Simple Arrow.28 HIT HIT Sheet.22 MISS MISS Sheet.23 MISS MISS Bottom to side 2 Bottom to side 2.34 Bottom to side 2.35 Bottom to side 2.36 Bent Arrow.24 Simple Arrow.29 HIT HIT Bent Arrow.22 Bent Arrow.20 Sheet.32 Sheet.33 Sheet.34 Sheet.35 MISS MISS Sheet.36 Sheet.37 Simple Arrow.49 Flow Record Flow Record Sheet.39 Sheet.40 Per packet metrics and state update Per packet metrics and state update Sheet.41 Sheet.42 Sheet.43 Add slow path Flow Table meta data Generate Flow Record Add slow path Flow Table meta dataGenerate Flow Record Sheet.44 Sheet.45 Sheet.46 Per flow termination event Per flow termination event Dynamic connector Sheet.48 Sheet.49