Filtering

Napatech Link-Capture™ Software Features

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Feature Description
Capture Software Version
Link™ Capture Software 12.10

The filtering functionality is used to identify particular frames based on classification criteria and to define policies with multiple actions.

Supported filters

The following filters are supported in Napatech SmartNICs with Link-Capture™ Software.
  • Port filter using the received port information.
  • Protocol filter using the identified protocol information.
  • Error filter using the error information of FCS/IP/UDP/TCP checksum and other error conditions.
  • Length filter based on the full length or a part of the length in a frame.
  • Data filter based on user-defined fields.
  • Key match using various fields of a frame to be searched for in lists or ranges of values.
For more information on how to configure SmartNICs for filtering, see SmartNIC Filtering with Link-Capture™ Software or DN-0987.
Note: The key match test does not apply to the following SmartNICs.
  • NT200A02 running on the 2 × 100 Gbit/s FM1 image
  • NT200A02 running on the 2 × 40 Gbit/s FM1 image
  • NT200A02 running on the 8 × 10 Gbit/s FM1 image
  • NT100A01 running on the 4 × 25/10 Gbit/s FM1 image
  • NT100A01 running on the 4 × 10/1 Gbit/s FM1 image
  • NT40A11 running on the 4 × 10/1 Gbit/s capture/replay 2 image
  • NT40E3-4-PTP running on the capture/replay 2 image.

Configuring SmartNICs using NTPL

Filters are applied using the Assign NTPL command. Each Assign command consists of filter expressions and recipes as shown in the following example which configures the SmartNIC to slice all UDP frames to 64 bytes.


Page-1 Sheet.45 Recipes Recipes Sheet.60 Filter Filter Sheet.64 Assign[StreamId = 1; Slice=StartOfFrame[64]] = Layer4Protocol... Assign[StreamId = 1; Slice=StartOfFrame[64]] = Layer4Protocol==UDP Sheet.70 [StreamId = 1; Slice=StartOfFrame[64]] [StreamId = 1; Slice=StartOfFrame[64]] Sheet.73 Layer4Protocol==UDP Layer4Protocol==UDP

In this NTPL example [StreamId = 1; Slice=StartOfFrame[64]] contains recipes, and Layer4Protocol==UDP is a filter expression.

A filter expression is a combination of protocol, port and various other tests.

The recipes correspond to the functional blocks as follows:
  • Color assignment
  • Hash key calculation
  • Correlation key calculation
  • IP fragment handling
  • Local retransmission
  • Slicing
  • Header stripping
  • Packet masking
  • Packet descriptor building
  • Distribution to streams (queue management)
If the Assign command does not include any recipes, all functional blocks will execute their default recipe:
  • StreamId: 'DROP' (Packet is discarded)
  • Color: 0 (Zero)
  • Slice: No slicing
  • SliceReTx: No slicing
  • Hash: RoundRobin
  • Descriptor: As specified in the ntservice.ini file.