New upstream version 18.08
[deb_dpdk.git] / doc / guides / bbdevs / null.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2017 Intel Corporation
3
4 BBDEV null Poll Mode Driver
5 ============================
6
7 The (**baseband_null**) is a bbdev poll mode driver which provides a minimal
8 implementation of a software bbdev device. As a null device it does not modify
9 the data in the mbuf on which the bbdev operation is to operate and it only
10 works for operation type ``RTE_BBDEV_OP_NONE``.
11
12 When a burst of mbufs is submitted to a *bbdev null PMD* for processing then
13 each mbuf in the burst will be enqueued in an internal buffer ring to be
14 collected on a dequeue call.
15
16
17 Limitations
18 -----------
19
20 * In-place operations for Turbo encode and decode are not supported
21
22 Installation
23 ------------
24
25 The *bbdev null PMD* is enabled and built by default in both the Linux and
26 FreeBSD builds.
27
28 Initialization
29 --------------
30
31 To 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
37 The 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
44 Example:
45 ~~~~~~~~
46
47 .. code-block:: console
48
49     ./test-bbdev.py -e="--vdev=baseband_null,socket_id=0,max_nb_queues=8"