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