Flow Lookup

Link-Inline™ Software Features

Platform
Napatech SmartNIC
Content Type
Feature Description
Capture Software Version
Link-Inline™ Software 3.2

This is a typical scenario of the flow processing in the SmartNIC running Napatech Link-Inline™ Software and the application.

Managing flows

When a frame is received, the SmartNIC looks up the flow of the frame in the flow table as illustrated in this figure.

Page-1 Sheet.1 Application Application Sheet.2 SmartNIC SmartNIC Sheet.3 Flow lookup Flow lookup Sheet.5 Hairpin offloads Hairpin offloads Sheet.7 RX queue RX queue Sheet.9 TX queue TX queue Bent Arrow.14 Bent Arrow.21 Bent Arrow.25 Simple Arrow.28 HIT HIT Sheet.22 MISS MISS Simple Arrow.29 Bent Arrow.20 Sheet.35 MISS MISS Sheet.37 Simple Arrow.56 Dynamic connector Sheet.59 RX queue RX queue Sheet.60 RX queue RX queue Sheet.63 TX queue TX queue Sheet.64 TX queue TX queue Dynamic connector.65 Sheet.66 Flow table Flowtable Sheet.67 Sheet.68 Usage counters Usagecounters Sheet.69 New rte_flow rules New rte_flow rules

If the flow of a received frame is found in the SmartNIC flow table (hit), the frame is processed as follows:
  1. Hairpin offloads: The SmartNIC performs frame processing such as policy lookups / rate limiting, updating usage counters for metering, protocol encapsulation/decapsulation and modifying header fields as well as fragmentation.
  2. The frame is transmitted.
  3. The usage information for metering can be retrieved by the application.
If the flow of a received frame is not found (miss), the frame is processed as follows :
  1. The frame is forwarded to the host for further processing in the application. The SmartNIC can distribute these frames across multiple RX queues in the host.
  2. The application configures the SmartNIC with a new flow rule for the forwarded frame.
  3. The application performs processing of the frame, such as protocol encapsulation/decapsulation and/or modifying header fields.
  4. The application adds the frame to a TX queue.
  5. The frame in the TX queue is forwarded to the SmartNIC.
  6. The SmartNIC transmits the frame without any further processing.
Note: Received frames are not stored in onboard SDRAM of the SmartNIC before transferred to the host memory.
Note: The SmartNIC transmits frames from the host without any changes except that a frame larger than the MTU is fragmented, and the FCS is recalculated.

Supported rte_flow patterns and actions

DPDK rte_flow is used to configure the SmartNIC with Napatech Link-Inline™ Software to match specific traffic, take a list of actions and update/generate related counters. The flow lookup can be performed on the various header fields of a frame as follows.

  • MAC source and destination addresses
  • IPv4/IPv6 source and destination addresses
  • UDP/TCP/SCTP source and destination port numbers
  • GTP TEID and QFC
  • VLAN
  • EtherType
The supported rte_flow actions include:
  • Queue: Forwarding to a specific queue.
  • Receive side scaling (RSS): Distributing frames across multiple RX queues.
  • Drop: Dropping a frame.
  • TX port: Transmitting on a specific port.
  • Meter ID: Policing object ID.
  • Raw encapsulation/decapsulation.
  • Modifying any relevant header fields.