xref: /dpdk/doc/guides/nics/idpf.rst (revision f07d4d9beffaa625cd3477cceebc04c58d23bc58)
1.. SPDX-License-Identifier: BSD-3-Clause
2   Copyright(c) 2022 Intel Corporation.
3
4.. include:: <isonum.txt>
5
6IDPF Poll Mode Driver
7=====================
8
9The idpf PMD (**librte_net_idpf**) provides poll mode driver support for
10Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
11
12
13Linux Prerequisites
14-------------------
15
16Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
17
18To get better performance on Intel platforms,
19please follow the :doc:`../linux_gsg/nic_perf_intel_platform`.
20
21
22Recommended Matching List
23-------------------------
24
25It is highly recommended to upgrade the idpf kernel driver, MEV-ts release
26to avoid compatibility issues with the idpf PMD.
27Here is the suggested matching list which has been tested and verified.
28
29   +------------+---------------+------------------+
30   |    DPDK    | Kernel Driver |  MEV-ts release  |
31   +============+===============+==================+
32   |    23.07   |    0.0.710    |      0.9.1       |
33   +------------+---------------+------------------+
34   |    23.11   |    0.0.720    |       1.0        |
35   +------------+---------------+------------------+
36
37
38Configuration
39-------------
40
41Runtime Configuration
42~~~~~~~~~~~~~~~~~~~~~
43
44- ``vport`` (default ``0``)
45
46  The PMD supports creation of multiple vports for one PCI device,
47  each vport corresponds to a single ethdev.
48  The user can specify the vports with specific ID to be created, for example::
49
50    -a ca:00.0,vport=[0,2,3]
51
52  Then the PMD will create 3 vports (ethdevs) for device ``ca:00.0``.
53
54  If the parameter is not provided, the vport 0 will be created by default.
55
56- ``rx_single`` (default ``0``)
57
58  There are two queue modes supported by Intel\ |reg| IPU Ethernet ES2000 Series,
59  single queue mode and split queue mode for Rx queue.
60  User can choose Rx queue mode, example::
61
62    -a ca:00.0,rx_single=1
63
64  Then the PMD will configure Rx queue with single queue mode.
65  Otherwise, split queue mode is chosen by default.
66
67- ``tx_single`` (default ``0``)
68
69  There are two queue modes supported by Intel\ |reg| IPU Ethernet ES2000 Series,
70  single queue mode and split queue mode for Tx queue.
71  User can choose Tx queue mode, example::
72
73    -a ca:00.0,tx_single=1
74
75  Then the PMD will configure Tx queue with single queue mode.
76  Otherwise, split queue mode is chosen by default.
77
78
79Driver compilation and testing
80------------------------------
81
82Refer to the document :doc:`build_and_test` for details.
83
84
85Features
86--------
87
88Vector PMD
89~~~~~~~~~~
90
91Vector path for Rx and Tx path are selected automatically.
92The paths are chosen based on 2 conditions:
93
94- ``CPU``
95
96  On the x86 platform, the driver checks if the CPU supports AVX512.
97  If the CPU supports AVX512 and EAL argument ``--force-max-simd-bitwidth``
98  is set to 512, AVX512 paths will be chosen.
99
100- ``Offload features``
101
102  The supported HW offload features are described in the document idpf.ini,
103  A value "P" means the offload feature is not supported by vector path.
104  If any not supported features are used, idpf vector PMD is disabled
105  and the scalar paths are chosen.
106