This demonstrates TCP offloading onto the IPU.
Before you begin
- Installed a Napatech IPU in a server. See Installing a Napatech IPU.
- Programmed the IPU with an appropriate FPGA image. See Napatech Link-Security™ Software FPGA Images.
- Compiled and installed Link-Security™ Software on the IPU. See Installing Napatech Link-Security™ Software on the IPU.
- Configured the IPU. See Configuring the IPU.
- Configured the test server. See Configuring the Test Server.
About this task
In this demo, traffic is not encrypted, and reverse-proxying is performed on the IPU.
Note: The following prompt is used to indicate which part of the system to run the provided
commands on.
- test#: The server where the test script is executed.
Procedure
Run the test script.
For
example:
test# cd /opt/ipu_workload_tls/src test# python3 -m standalone.main --proxy soc --deploy-run -c 2000where:
- --proxy soc: Run reverse-proxying on the IPU.
- --deploy-run: Deploy network/services and run workload.
- -c 2000: 2000 connections that the wrk tool uses.
An output
example:
… … == Cache warm up == Workload ├── duration: 600s ├── connections: 500 └── threads: 104 == Performance measure == Workload ├── duration: 120s ├── connections: 2000 └── threads: 4 Throughput 24.880.000.000 bps 3.11 GBs ======= Host Summary Report ======= CPU: all load avg: 0.01 % all load std: 0.02 % Network interfaces: enp15s0 RX throughput rx avg: 0 bps throughput rx std: 0 bps enp15s0 TX throughput tx avg: 0 bps throughput tx std: 0 bps ======= SoC Summary Report ======= CPU: all load avg: 72.30 % all load std: 5.98 % Network interfaces: ens6f5 RX throughput rx avg: 104.057.760 bps throughput rx std: 5.552.324 bps ens6f5 TX throughput tx avg: 27.704.304.240 bps throughput tx std: 915.657.609 bps --------------------------- Captured stdout teardown --------------------------- [16:23:04.094] host | INFO | Stopping Server on Host [16:23:04.095] host | DEBUG | Thread-141 started [16:23:04.935] host | INFO | Run|➜ pkill nginx || true; rm -rf /tmp/content-cache1 /tmp/error1.log /tmp/access1.log [16:23:05.979] host | INFO | OK |⮠ [16:23:05.981] host | INFO | Stopping Cache Filler [16:23:05.981] host | DEBUG | Thread-142 started [16:23:06.828] host | INFO | Run|➜ pkill http_obj_gen.py [16:23:06.905] host | INFO | OK |⮠ [16:23:06.907] soc | INFO | Stopping Proxy on SoC [16:23:06.908] soc | DEBUG | Thread-143 started [16:23:07.762] soc | INFO | Run|➜ pkill nginx || true; rm -rf /tmp/content-cache1 /tmp/error1.log /tmp/access1.log /root/nginx-soc [16:23:08.546] soc | INFO | OK |⮠