This demonstrates TLS/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 encrypted, and encryption/decryption and reverse-proxying are 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:
cd /opt/ipu_workload_tls/src python3 -m standalone.main --proxy soc –-tls --deploy-run -c 2000where:
- --proxy soc: Run reverse-proxying on the IPU.
- –-tls: TLS is enabled.
- --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 13.280.000.000 bps 1.66 GBs ======= Host Summary Report ======= CPU: all load avg: 0.02 % all load std: 0.03 % 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: 78.52 % all load std: 0.20 % Network interfaces: ens6f5 RX throughput rx avg: 81.099.498 bps throughput rx std: 461.405 bps ens6f5 TX throughput tx avg: 15.107.791.309 bps throughput tx std: 41.812.873 bps --------------------------- Captured stdout teardown --------------------------- [15:57:01.477] host | INFO | Stopping Server on Host [15:57:01.478] host | DEBUG | Thread-145 started [15:57:02.325] host | INFO | Run|➜ pkill nginx || true; rm -rf /tmp/content-cache1 /tmp/error1.log /tmp/access1.log [15:57:03.268] host | INFO | OK |⮠ [15:57:03.270] host | INFO | Stopping Cache Filler [15:57:03.271] host | DEBUG | Thread-146 started [15:57:04.100] host | INFO | Run|➜ pkill http_obj_gen.py [15:57:04.171] host | INFO | OK |⮠ [15:57:04.174] soc | INFO | Stopping Proxy on SoC [15:57:04.174] soc | DEBUG | Thread-147 started [15:57:05.032] soc | INFO | Run|➜ pkill nginx || true; rm -rf /tmp/content-cache1 /tmp/error1.log /tmp/access1.log /root/nginx-soc [15:57:05.853] soc | INFO | OK |⮠