xref: /dpdk/doc/guides/bbdevs/null.rst (revision 7ce00bf31bbe8c5566d53d6149354f5f12613048)
17dc2b158SAmr Mokhtar..  SPDX-License-Identifier: BSD-3-Clause
27dc2b158SAmr Mokhtar    Copyright(c) 2017 Intel Corporation
37dc2b158SAmr Mokhtar
47dc2b158SAmr MokhtarBBDEV null Poll Mode Driver
57dc2b158SAmr Mokhtar============================
67dc2b158SAmr Mokhtar
7*7ce00bf3SKamil ChalupnikThe (**baseband_null**) is a bbdev poll mode driver which provides a minimal
87dc2b158SAmr Mokhtarimplementation of a software bbdev device. As a null device it does not modify
97dc2b158SAmr Mokhtarthe data in the mbuf on which the bbdev operation is to operate and it only
107dc2b158SAmr Mokhtarworks for operation type ``RTE_BBDEV_OP_NONE``.
117dc2b158SAmr Mokhtar
127dc2b158SAmr MokhtarWhen a burst of mbufs is submitted to a *bbdev null PMD* for processing then
137dc2b158SAmr Mokhtareach mbuf in the burst will be enqueued in an internal buffer ring to be
147dc2b158SAmr Mokhtarcollected on a dequeue call.
157dc2b158SAmr Mokhtar
167dc2b158SAmr Mokhtar
177dc2b158SAmr MokhtarLimitations
187dc2b158SAmr Mokhtar-----------
197dc2b158SAmr Mokhtar
207dc2b158SAmr Mokhtar* In-place operations for Turbo encode and decode are not supported
217dc2b158SAmr Mokhtar
227dc2b158SAmr MokhtarInstallation
237dc2b158SAmr Mokhtar------------
247dc2b158SAmr Mokhtar
257dc2b158SAmr MokhtarThe *bbdev null PMD* is enabled and built by default in both the Linux and
267dc2b158SAmr MokhtarFreeBSD builds.
277dc2b158SAmr Mokhtar
287dc2b158SAmr MokhtarInitialization
297dc2b158SAmr Mokhtar--------------
307dc2b158SAmr Mokhtar
317dc2b158SAmr MokhtarTo use the PMD in an application, user must:
327dc2b158SAmr Mokhtar
33*7ce00bf3SKamil Chalupnik- Call ``rte_vdev_init("baseband_null")`` within the application.
347dc2b158SAmr Mokhtar
35*7ce00bf3SKamil Chalupnik- Use ``--vdev="baseband_null"`` in the EAL options, which will call ``rte_vdev_init()`` internally.
367dc2b158SAmr Mokhtar
377dc2b158SAmr MokhtarThe following parameters (all optional) can be provided in the previous two calls:
387dc2b158SAmr Mokhtar
397dc2b158SAmr Mokhtar* ``socket_id``: Specify the socket where the memory for the device is going to be allocated
407dc2b158SAmr Mokhtar  (by default, *socket_id* will be the socket where the core that is creating the PMD is running on).
417dc2b158SAmr Mokhtar
427dc2b158SAmr Mokhtar* ``max_nb_queues``: Specify the maximum number of queues in the device (default is ``RTE_MAX_LCORE``).
437dc2b158SAmr Mokhtar
447dc2b158SAmr MokhtarExample:
457dc2b158SAmr Mokhtar~~~~~~~~
467dc2b158SAmr Mokhtar
477dc2b158SAmr Mokhtar.. code-block:: console
487dc2b158SAmr Mokhtar
49*7ce00bf3SKamil Chalupnik    ./test-bbdev.py -e="--vdev=baseband_null,socket_id=0,max_nb_queues=8"
50