- Pass the packet into process thread, and create an offloading rte_flow after n packets.
- The offloading rte_flow can count the packets, set timeout callback, use hairpin to forward packets.
- Delete the rte_flow if there is no corresponding packet for 10 seconds.
- DPDK 20.11.5
- x86 server with Mellanox/Nvidia SmartNic.
mkdir build && cd build
cmake ..
make
# -l Specify the core; -a Specify the port
./smart_offload -l 1-9 -a 82:00.0
Can not set frequency of CPU cores, you can a definition -DVM=true
to disable this feature.