xref: /dpdk/doc/guides/bbdevs/null.rst (revision 7ce00bf31bbe8c5566d53d6149354f5f12613048)
1..  SPDX-License-Identifier: BSD-3-Clause
2    Copyright(c) 2017 Intel Corporation
3
4BBDEV null Poll Mode Driver
5============================
6
7The (**baseband_null**) is a bbdev poll mode driver which provides a minimal
8implementation of a software bbdev device. As a null device it does not modify
9the data in the mbuf on which the bbdev operation is to operate and it only
10works for operation type ``RTE_BBDEV_OP_NONE``.
11
12When a burst of mbufs is submitted to a *bbdev null PMD* for processing then
13each mbuf in the burst will be enqueued in an internal buffer ring to be
14collected on a dequeue call.
15
16
17Limitations
18-----------
19
20* In-place operations for Turbo encode and decode are not supported
21
22Installation
23------------
24
25The *bbdev null PMD* is enabled and built by default in both the Linux and
26FreeBSD builds.
27
28Initialization
29--------------
30
31To use the PMD in an application, user must:
32
33- Call ``rte_vdev_init("baseband_null")`` within the application.
34
35- Use ``--vdev="baseband_null"`` in the EAL options, which will call ``rte_vdev_init()`` internally.
36
37The following parameters (all optional) can be provided in the previous two calls:
38
39* ``socket_id``: Specify the socket where the memory for the device is going to be allocated
40  (by default, *socket_id* will be the socket where the core that is creating the PMD is running on).
41
42* ``max_nb_queues``: Specify the maximum number of queues in the device (default is ``RTE_MAX_LCORE``).
43
44Example:
45~~~~~~~~
46
47.. code-block:: console
48
49    ./test-bbdev.py -e="--vdev=baseband_null,socket_id=0,max_nb_queues=8"
50