3. Source Organization
This section describes the organization of sources in the DPDK framework.
3.1. Libraries
Libraries are located in subdirectories of dpdk/lib
.
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.
3.2. Drivers
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 librte_X_Y.a
where X
is the device class
name and Y
is the driver name.
Note
Several of the driver/net
directories contain a base
sub-directory. The base
directory generally contains code the shouldn’t
be modified directly by the user. Any enhancements should be done via the
X_osdep.c
and/or X_osdep.h
files in that directory. Refer to the
local README in the base directories for driver specific instructions.
3.3. Applications
Applications are source files that contain a main()
function.
They are located in the dpdk/app
and dpdk/examples
directories.
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.