e3091c9a635a9d95a9a3baf4e2a76331c4830ecd
[dpdk.git] / doc / guides / eventdevs / dlb2.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2020 Intel Corporation.
3
4 Driver for the IntelĀ® Dynamic Load Balancer (DLB2)
5 ==================================================
6
7 The DPDK dlb poll mode driver supports the IntelĀ® Dynamic Load Balancer.
8
9 Prerequisites
10 -------------
11
12 Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
13 the basic DPDK environment.
14
15 Configuration
16 -------------
17
18 The DLB2 PF PMD is a user-space PMD that uses VFIO to gain direct
19 device access. To use this operation mode, the PCIe PF device must be bound
20 to a DPDK-compatible VFIO driver, such as vfio-pci.
21
22 Eventdev API Notes
23 ------------------
24
25 The DLB2 provides the functions of a DPDK event device; specifically, it
26 supports atomic, ordered, and parallel scheduling events from queues to ports.
27 However, the DLB2 hardware is not a perfect match to the eventdev API. Some DLB2
28 features are abstracted by the PMD such as directed ports.
29
30 In general the dlb PMD is designed for ease-of-use and does not require a
31 detailed understanding of the hardware, but these details are important when
32 writing high-performance code. This section describes the places where the
33 eventdev API and DLB2 misalign.
34
35 Flow ID
36 ~~~~~~~
37
38 The flow ID field is preserved in the event when it is scheduled in the
39 DLB2.
40