numam-dpdk/doc/guides/prog_guide/source_org.rst
Harry van Haaren aaee1d15cb doc: improve ordering and remove old titles in prog guide
Move the "source_org" page to after overview, where it fits
better to explain the source-code layout of DPDK, before getting
into details of specific libraries such as EAL.

Also removes the older titles from the 3 documents which still had them.

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
2022-06-08 10:17:26 +02:00

44 lines
1.6 KiB
ReStructuredText

.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
Source Organization
===================
This section describes the organization of sources in the DPDK framework.
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.
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.
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 :doc:`Sample applications<../sample_app_ug/index>` that show how libraries can be used.