Frames are processed by the IP blocks in the SmartNICs.
IP blocks for frame processing
The figure below shows a high-level diagram of the frame processing pipeline. The received frames are processed by the functional IP blocks in the sequence shown in the figure below.
Figure 1. Frame processing pipeline
This table shows supported IP blocks for each SmartNIC.
Note: Table legend:
- FPGA image types
- CR1: Capture CR1 image
- CR2: Capture CR2 image
- FM1: Capture FM1 image
- SLB: Capture SLB image
- TM1: Capture TM1 image
- G: Gbit/s
- X: Supported.
- –: Not supported.
| IP Block | NT400D13 | NT400D11 | NT200A02 | NT100A01 | NT50B01 | NT40A11 | NT40A01 | NT40E3-4-PTP | NT20E3-2-PTP | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2×200G TM1 | 2×100G TM1 | 2×40G TM1 | 8×25/10G TM1 | 2×100G FM1 | 2×100G TM1 | 2×40G FM1 | 2×40G TM1 | 8×25/10G FM1 | 8×25/10G TM1 | 2×100G CR1 | 2×100G FM1 | 2×100G TM | 2×40G CR1 | 2×40G FM1 | 2×40G TM1 | 2×40G SLB | 4×25/10G CR1 | 2×25/10G CR1 | 2×25/10G TM1 | 8×10G TM1 | 8×10G FM1 | 8×10G SLB | 2×10/1G CR1 | 4×25/10G FM1 | 4×25/10G TM1 | 4×10/1G FM1 | 4×10/1G TM1 | 2×25/10G TM1 | 2×10/1G TM1 | 4×10/1G CR2 | 4×10/1G CR1 | 4×10/1G SLB | 4×1G CR1 | 4×10/1G CR2 | 4×10/1G CR1 | 2×10/1G CR1 | |
| Frame decoder | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| Categorizer and filter | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| Hasher | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| Correlation key | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | – | X | X | X | X |
| Deduplication | X | X | X | X | X | X | X | X | X | X | X | X | X | X | – | X | X | X | X | X | X | – | X | X | – | X | – | X | X | X | X | X | – | X | X | X | X |
| Load distributor | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| IP fragment handling | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | – | X | X | X | – | X | X |
| Packet masker | X | X | X | X | – | X | – | X | – | X | X | – | – | X | – | – | – | X | X | – | X | – | – | X | – | X | – | X | – | – | – | – | – | – | – | – | – |
| Header stripper | X | X | X | X | – | X | – | X | – | X | X | – | – | X | – | – | – | X | X | – | X | – | – | X | – | X | – | X | – | – | – | – | – | – | – | – | – |
| VLAN insert | X | X | X | X | – | X | – | X | – | X | X | – | – | X | – | – | – | X | X | – | X | – | – | X | – | X | – | X | – | – | – | – | – | – | – | – | – |
| Local retransmit | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | – | X | X | X | – | X |
| Slicer | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| Slicer on locally retransmitted frames | X | X | X | X | – | X | – | X | – | X | X | X | X | X | X | X | – | X | X | X | X | X | – | X | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Rx buffer handler | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| Tx buffer handler | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
| Tx scheduler | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |