DPL Installation Guide
The DPL Development Container (dpl_dev
) bundles several tools for compiling, controlling, and debugging DPL programs.
You can find available releases at https://catalog.ngc.nvidia.com/orgs/nvidia/teams/doca/containers/dpl_dev/tags
Make sure to use the one intended for the DOCA version you're using.
Pull the container image with the following command:
docker pull nvcr.io/nvidia/doca/dpl_dev:1.1.10-doca3.0.0-host
A set of scripts is provided with dpl_dev
, with one script per tool.
Each script launches its respective tool, reducing the number of command line options you need to specify.
The /install.sh
script provided within the dpl_dev
container copies the launch scripts to the current working directory. The following is an example command showing how to copy the launch scripts from within the container to a mounted directory of your choice (in this case, $PWD).
docker run --rm -it -v ${PWD}:${PWD} -u $(id -u):$(id -g) -w ${PWD} nvcr.io/nvidia/doca/dpl_dev:1.1.10-doca3.0.0-host /install.sh
The same command copies the following scripts to the local host file system:
Tool launch scripts
dplp4c.sh
dpl_admin.sh
p4runtime_sh.sh
dpl_nspect.sh
dpl_debugger.sh
Configuration script
scripts_config.sh
General purpose script for internal use only
scripts_utils.sh
For a detailed explanation of each tool, see DOCA Pipeline Language Developer Tools.
The scripts_config.sh
file specifies variables that set the default values for commonly used arguments required by the launch scripts. The DEV_IMAGE
variable defines the default for the -i <name:tag>
argument, which is required for all launch scripts. This argument is set by default to the pulled image's version, as shown in the example below.
The *_ADDRESS
variable (per tool) defines the default for the -a <address:port>
argument.
It is recommended to edit the scripts_config.sh
file and set the DPL_RTD_IP
variable to the DPU's address, and to uncomment the other *_ADDRESS
variables to avoid the need to provide them each time when executing the launch scripts (e.g for compiling and loading the DPL programs).
Some examples in the user guide will assume that everything was pre-configured in scripts_config.sh
and omit the arguments that define the same parameters (such as the address of the DPU).
scripts_config.sh
#!/bin/bash
# This configuration file defines various arguments used by the launch scripts.
# These variables are optional, but defining them in advance simplifies the use of the launch scripts.
# Image name and tag that contains the development tools
# Example: nvcr.io/nvidia/doca/dpl_dev:<tag>
DEV_IMAGE=nvcr.io/nvidia/doca/dpl_dev:1.1.10-doca3.0.0-host
# IP where the DPL Runtime daemon (RTD) is running
# Example: 192.168.1.100
DPL_RTD_IP=<Your DPU address goes here>
# IP where the DPL RTD is running and the port for the P4 Runtime Server
# Example: ${DPL_RTD_IP}:9559
P4RT_ADDRESS=${DPL_RTD_IP}:9559
# IP where the DPL RTD is running and the port for the DPL Admin
# Example: ${DPL_RTD_IP}:9600
DPL_ADMIN_ADDRESS=${DPL_RTD_IP}:9600
# IP where the DPL RTD is running and the port for the DPL Nspect
# Example: ${DPL_RTD_IP}:9560
DPL_NSPECT_ADDRESS=${DPL_RTD_IP}:9560
Compiling DPL Applications that you wish to examine using the developer tools.
Loading DPL Applications can now be done with the compilation outputs.
Use the DOCA Pipeline Language Developer Tools to further examine the DPL programs correct operation.