Introduction
The DPL Development Container (dpl_dev) bundles several tools for compiling, controlling, and debugging DPL programs.
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.
Installing the Launch Scripts
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 Tool.
Configuring Launch Scripts
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.
#!/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=
# 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
Next Steps
-
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 Tool to further examine the DPL programs correct operation.
Last updated: