Local Retransmission

Napatech Link-Capture™ Software Features

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

Local retransmission enables frames received on one or more network ports to be retransmitted to one network port on the same SmartNIC without involving the host CPU. The frames are transmitted locally on the SmartNIC without being transferred to the host memory.

Purpose

Local retransmission can be used to daisy-chain SmartNICs (to avoid multiple taps) or to load-balance network processing between multiple host servers (spillover).

Features

Note: Local retransmission does not apply to the following SmartNICs.
  • NT40A11 running on a 4 × 10/1 Gbit/s capture image
  • NT40E3 running on a 4 × 10/1 Gbit/s capture image
Local retransmission is based on the filtering functionality (see Filtering). Capture and local retransmission are controlled by different recipes, and can be specified independently of each other. For example, a SmartNIC can be set up to locally retransmit frames from port 0 to port 1, while at the same time capturing all IP frames received on port 0.
Note: As for other recipes (except for ColorMask), if more than one filter match the same frames, the recipe from the highest priority filter becomes the resulting recipe. Only one destination port can be specified in a local retransmission recipe. As a consequence, the same frames cannot be locally retransmitted to more than one destination port, while disjunct subsets of the frames can be locally retransmitted to different destination ports.

The latency from RX port to TX port is typically 5 µs.

Normally frames are retransmitted without any changes, except that the FCS is recalculated. However, VLAN tags can be inserted into frames to be locally retransmitted which enables load balancing, and frames can be sliced before being locally retransmitted in the following SmartNICs.
  • NT400D11 running on a test and measurement image
  • NT200A02 running on a capture/replay image
  • NT100A01 running on a test and measurement image

It is possible to retransmit frames received at one line rate on a port running another line rate.

Local retransmission can be applied together with host-based transmission (see Host-Based Transmission) on all SmartNICs supporting both features. In case of oversubscription of a TX port, frames that are locally retransmitted are prioritized over frames from the host.

Limitations

Local retransmission can lead to oversubscription of a TX port in a number of ways:
  • Local retransmission from a 10 Gbit/s source port to a 1 Gbit/s destination port.
  • Local retransmission from several source ports to the one destination port.
  • Simultaneous host transmission and local retransmission on the same port.
In case of oversubscription, locally retransmitted packets may be dropped. Such packet drops are counted by the TX dropEvents counter (see Port Counters).

Frames are retransmitted as soon as possible, there is no traffic control.

Due to the 5 µs latency from RX port to TX port, statistics read from downlink appliances is not synchronized with statistics read from the retransmitting appliance.

Local retransmission is only possible between ports on the same SmartNIC.
Note: Include a port test in the NTPL filter expression to exclude ports on other SmartNICs if multiple SmartNICs are installed in the host.
Received frames larger than 10,000 bytes are sliced to 10,000 bytes by the receive pipeline, and a new FCS will be calculated by the TX pipeline. If truncated frames are retransmitted, there is no way for downlink appliances to discover that these frames are erroneous.
Note: If truncated frames should not be locally retransmitted, exclude truncated frames from local retransmission with a Truncated error test in the NTPL filter expression.

Configuration interface

Local retransmission is configured using NTPL.

The NTPL command Assign using the DestinationPort parameter can retransmit traffic from more than one port, and can embed a time stamp in retransmitted traffic.

For the following SmartNICs, the Action NTPL command using the DestinationPort parameter can be used together with the Assign NTPL command for advanced load balancing to external servers.
  • NT400D11 running on a test and measurement image
  • NT200A02 running on a capture/replay image
  • NT100A01 running on a test and measurement image

For Napatech SmartNICs other than those listed above, the legacy NTPL command Retransmit is also supported with unchanged syntax for one source port and one destination port.

Example

In this NTPL example, SMTP traffic is retransmitted on one port, HTTP traffic is retransmitted on another, and the rest of the traffic is retransmitted on a third port, while everything is captured.

Define mTcpSrcPort = \\
Macro("Data[DynOffset=DynOffTcpFrame;Offset=0;DataType=ByteStr2;DataMask=[15:0]]")
Define mTcpPort_HTTP = Macro("80")
Define mTcpPort_SMTP = Macro("25")

Assign[StreamId=0] = Port==0 # Capture all
Assign[Priority=0; DestinationPort=1] = (mTcpSrcPort == mTcpPort_SMTP AND Port==0 AND Truncated==False)
Assign[Priority=0; DestinationPort=2] = (mTcpSrcPort == mTcpPort_HTTP AND Port==0 AND Truncated==False)
Assign[Priority=10;DestinationPort=3] = Port==0 # The remaining traffic

This figure illustrates the example.

local_retransmit_example Sheet.3 Sheet.4 Capture/Write to disk Capture/Write to disk Sheet.8 E-mail traffic real-time analysis E-mail traffic real-time analysis Sheet.16 Web traffic real-time analysis Web traffic real-time analysis Sheet.22 Remaining traffic monitoring Remaining traffic monitoring

Slicing of locally retransmitted frames

In the following SmartNICs, frames can sliced before being locally retransmitted using the SliceReTx parameter.
  • NT400D11 running on a test and measurement image
  • NT200A02 running on a capture/replay image
  • NT100A01 running on a test and measurement image
Since the slicing changes the frames, the CRC is recalculated before the frames are transmitted. The last 4 bytes of each frame contain the new CRC value. Slicing in the TX path is configured using NTPL similarly to slicing in the RX path. For more information on the SliceReTx parameter and NTPL examples, see Conditional slicing on local retransmit in DN-0449.

Load distribution using VLAN tags

In the following SmartNICs, VLAN tags can be inserted into frames to be locally retransmitted to enable load balancing to external servers. For more details, see DN-0449.
  • NT400D11 running on a test and measurement image
  • NT200A02 SmartNICs running on a capture/replay image
  • NT100A01 SmartNICs running on a test and measurement image

This example distributes all traffic to the server with the SmartNIC receiving the traffic and to 3 other servers, with 25% of the traffic to each of the external servers (on VLANs 101, 102 and 103) and 25% to 4 streams in the receiving server.

Action[Tag=Example3; Width=16] = {Index=0..3; StreamId=0..3}, {Index=4..15; DestinationPort=1; VLAN=101..103}
Assign[Action=Example3] = All
For more details, see Load Distribution or DN-0988.
Note: After VLAN tags are inserted into frames, slicing can be applied before being locally retransmitted. For NTPL examples, see Conditional slicing on local retransmit or DN-0449.