e3f4c2c43b24dae26b0aa6b69ae299f3214c40bf
[dpdk.git] / doc / guides / nics / octeontx2.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(C) 2019 Marvell International Ltd.
3
4 OCTEON TX2 Poll Mode driver
5 ===========================
6
7 The OCTEON TX2 ETHDEV PMD (**librte_pmd_octeontx2**) provides poll mode ethdev
8 driver support for the inbuilt network device found in **Marvell OCTEON TX2**
9 SoC family as well as for their virtual functions (VF) in SR-IOV context.
10
11 More information can be found at `Marvell Official Website
12 <https://www.marvell.com/embedded-processors/infrastructure-processors>`_.
13
14 Features
15 --------
16
17 Features of the OCTEON TX2 Ethdev PMD are:
18
19 - SR-IOV VF
20 - Lock-free Tx queue
21
22 Prerequisites
23 -------------
24
25 See :doc:`../platform/octeontx2` for setup information.
26
27 Compile time Config Options
28 ---------------------------
29
30 The following options may be modified in the ``config`` file.
31
32 - ``CONFIG_RTE_LIBRTE_OCTEONTX2_PMD`` (default ``y``)
33
34   Toggle compilation of the ``librte_pmd_octeontx2`` driver.
35
36 Runtime Config Options
37 ----------------------
38
39 - ``HW offload ptype parsing disable`` (default ``0``)
40
41    Packet type parsing is HW offloaded by default and this feature may be toggled
42    using ``ptype_disable`` ``devargs`` parameter.
43
44 - ``Rx&Tx scalar mode enable`` (default ``0``)
45
46    Ethdev supports both scalar and vector mode, it may be selected at runtime
47    using ``scalar_enable`` ``devargs`` parameter.
48
49 - ``RSS reta size`` (default ``64``)
50
51    RSS redirection table size may be configured during runtime using ``reta_size``
52    ``devargs`` parameter.
53
54    For example::
55
56       -w 0002:02:00.0,reta_size=256
57
58    With the above configuration, reta table of size 256 is populated.
59
60 - ``Flow priority levels`` (default ``3``)
61
62    RTE Flow priority levels can be configured during runtime using
63    ``flow_max_priority`` ``devargs`` parameter.
64
65    For example::
66
67       -w 0002:02:00.0,flow_max_priority=10
68
69    With the above configuration, priority level was set to 10 (0-9). Max
70    priority level supported is 32.
71
72 - ``Reserve Flow entries`` (default ``8``)
73
74    RTE flow entries can be pre allocated and the size of pre allocation can be
75    selected runtime using ``flow_prealloc_size`` ``devargs`` parameter.
76
77    For example::
78
79       -w 0002:02:00.0,flow_prealloc_size=4
80
81    With the above configuration, pre alloc size was set to 4. Max pre alloc
82    size supported is 32.
83
84 - ``Max SQB buffer count`` (default ``512``)
85
86    Send queue descriptor buffer count may be limited during runtime using
87    ``max_sqb_count`` ``devargs`` parameter.
88
89    For example::
90
91       -w 0002:02:00.0,max_sqb_count=64
92
93    With the above configuration, each send queue's decscriptor buffer count is
94    limited to a maximum of 64 buffers.
95
96
97 .. note::
98
99    Above devarg parameters are configurable per device, user needs to pass the
100    parameters to all the PCIe devices if application requires to configure on
101    all the ethdev ports.