Part 2: Development Environment
50. Source Organization
This section describes the organization of sources in the DPDK framework.
50.1. Makefiles and Config
In the following descriptions,
RTE_SDK is the environment variable that points to the base directory into which the tarball was extracted.
Useful Variables Provided by the Build System
for descriptions of other variables.
Makefiles that are provided by the DPDK libraries and applications are located in
Config templates are located in
$(RTE_SDK)/config. The templates describe the options that are enabled for each target.
The config file also contains items that can be enabled and disabled for many of the DPDK libraries,
including debug options.
The user should look at the config file and become familiar with these options.
The config file is also used to create a header file, which will be located in the new build directory.
Libraries are located in subdirectories of
By convention a library refers to any code that provides an API to an application.
Typically, it generates an archive file (
.a), but a kernel module would also go in the same directory.
Drivers are special libraries which provide poll-mode driver implementations for
devices: either hardware devices or pseudo/virtual devices. They are contained
in the drivers subdirectory, classified by type, and each compiles to a
library with the format
X is the driver name.
Several of the
driver/net directories contain a
base directory generally contains code the shouldn’t
be modified directly by the user. Any enhancements should be done via the
X_osdep.h files in that directory. Refer to the
local README in the base directories for driver specific instructions.
Applications are source files that contain a
They are located in the
The app directory contains sample applications that are used to test DPDK (such as autotests) or the Poll Mode Drivers (test-pmd).
The examples directory contains Sample applications that show how libraries can be used.