Configuring the Test Server

Getting Started with Napatech Link-Security™ Software

Platform
Napatech IPU
Content Type
Getting Started
Capture Software Version
Link-Security™ Software 1.0

Use this information to set up the test server. This includes generating/distributing an SSH key, installing dependencies, configuring the test environment.

Before you begin

Make sure that you have:
  • Python version 3.8 or newer. Check the Python version. For example:
    test# python3 --version
    If the Python version is older than 3.8, perform a Python version upgrade.
  • Placed the Napatech Link-Security™ Software package in the /opt/ directory.

About this task

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

  1. Unpack the ipu_workload_tls-<version>.tar.gz package.
    test# cd /opt/
    test# tar zxvf ipu_workload_tls-<version>.tar.gz
    where version is the version identifier of the corresponding package.
  2. Generate an SSH key pair on the test server.
    test# ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519 <<< y
    This command generates a new Ed25519 SSH key pair without a passphrase and automatically confirms any prompts to overwrite an existing key file.
    An output example:
    Generating public/private ed25519 key pair.
    Your identification has been saved in /root/.ssh/id_ed25519.
    Your public key has been saved in /root/.ssh/id_ed25519.pub.
    The key fingerprint is:
    …
    The key's randomart image is:
    …
  3. Copy the generated public key to the SoC on the IPU, the host (DUT) and the client.
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@<IP_address>
    where IP_address is the IP address of the SoC on the IPU, the host (DUT) and the client (traffic generator). For example:
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@10.168.10.10
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@10.168.10.11
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@10.168.10.12
  4. Install dependencies
    test# dnf update
    test# dnf install python3-pip
    test# cd /opt/ipu_workload_tls/src/standalone/
    test# pip3 install -r requirements.txt
  5. Configure IP addresses of the control plane for the host, the client and the SoC on the IPU.
    test# vim /opt/ipu_workload_tls/src/standalone/config.ini
    For example:
    [HOST]
    ip = 10.168.10.10
    
    [CLIENT]
    ip = 10.168.10.11
    
    [SOC]
    ip = 10.168.10.12
  6. Configure network interface names of the data plane.
    test# vim /opt/ipu_workload_tls/src/common/constants.py
    Locate the following parameters.
    # INTERFACES
    CLIENT_INF = 'ens2f1np1'
    SOC_CLIENT_INF = ['ens6f5', 'ens6f1', 'ens6f2', 'ens6f3']
    SOC_HOST_INF = 'ens6f6'
    HOST_CLIENT_INF = 'enp15s0'
    HOST_SOC_INF = 'enp16s0'
    The following figure shows how each parameter is mapped to its respective interface in the setup.
    Page-1 Rounded Rectangle Rounded Rectangle.18 Sheet.25 Host Host Sheet.41 Client Client Rounded Rectangle.42 Sheet.43 SoC SoC Sheet.45 HOST_CLIENT_INF HOST_CLIENT_INF Dynamic connector Sheet.48 CLIENT_INF CLIENT_INF Sheet.50 HOST_SOC_INF HOST_SOC_INF Sheet.51 SOC_HOST_INF SOC_HOST_INF Sheet.52 SOC_CLIENT_INF SOC_CLIENT_INF Dynamic connector.53 Dynamic connector.54

    Set CLIENT_INF to the network interface name on the client (traffic generator) that is connected to the IPU. Check the remaining network interface names and correct them as needed.
    Note: The network interface ens6f4 on the SoC must not be used.
  7. Specify the directory to wrk on the client.
    test# vim /opt/ipu_workload_tls/src/common/constants.py
    Locate the following parameters.
    WRK_PATH = '/usr/local/bin'
    By default, WRK_PATH is set to /usr/local/bin. Adjust it to the appropriate path as needed. wrk is installed on the client. See Step 2 in Preparing the Host and the Client.
  8. Configure the throughput limit.
    test# vim /opt/ipu_workload_tls/src/common/constants.py
    Locate the following line:
    # WRK
    …
    THROUGHPUT_LIMIT = 400_000_000
    …
    By default, it is set to 400 Mbits/s. Adjust the limit as needed.