doc: add guide for AMD axgbe Ethernet PMD
[dpdk.git] / doc / guides / nics / axgbe.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
3
4 AXGBE Poll Mode Driver
5 ======================
6
7 The AXGBE poll mode driver library (**librte_pmd_axgbe**) implements support
8 for AMD 10 Gbps family of adapters. It is compiled and tested in standard linux distro like Ubuntu.
9
10 Detailed information about SoCs that use these devices can be found here:
11
12 - `AMD EPYC™ EMBEDDED 3000 family <https://www.amd.com/en/products/embedded-epyc-3000-series>`_.
13
14
15 Supported Features
16 ------------------
17
18 AXGBE PMD has support for:
19
20 - Base L2 features
21 - TSS (Transmit Side Scaling)
22 - RSS (Receive Side Scaling)
23 - Checksum offload
24 - Jumbo Frame upto 9K
25
26
27 Configuration Information
28 -------------------------
29
30 The following options can be modified in the ``.config`` file. Please note that
31 enabling debugging options may affect system performance.
32
33 - ``CONFIG_RTE_LIBRTE_AXGBE_PMD`` (default **y**)
34
35   Toggle compilation of axgbe PMD.
36
37 - ``CONFIG_RTE_LIBRTE_AXGBE_PMD_DEBUG`` (default **n**)
38
39   Toggle display for PMD debug related messages.
40
41
42 Building DPDK
43 -------------
44
45 See the :ref:`DPDK Getting Started Guide for Linux <linux_gsg>` for
46 instructions on how to build DPDK.
47
48 By default the AXGBE PMD library will be built into the DPDK library.
49
50 For configuring and using UIO frameworks, please also refer :ref:`the
51 documentation that comes with DPDK suite <linux_gsg>`.
52
53
54 Prerequisites and Pre-conditions
55 --------------------------------
56 - Prepare the system as recommended by DPDK suite.
57
58 - Bind the intended AMD device to ``igb_uio`` or ``vfio-pci`` module.
59
60 Now system is ready to run DPDK application.
61
62
63 Usage Example
64 -------------
65
66 Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
67 for details.
68
69 Example output:
70
71 .. code-block:: console
72
73    [...]
74    EAL: PCI device 0000:02:00.4 on NUMA socket 0
75    EAL:   probe driver: 1022:1458 net_axgbe
76    Interactive-mode selected
77    USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, socket=0
78    USER1: create a new mbuf pool <mbuf_pool_socket_1>: n=171456, size=2176, socket=1
79    USER1: create a new mbuf pool <mbuf_pool_socket_2>: n=171456, size=2176, socket=2
80    USER1: create a new mbuf pool <mbuf_pool_socket_3>: n=171456, size=2176, socket=3
81    Configuring Port 0 (socket 0)
82    Port 0: 00:00:1A:1C:6A:17
83    Checking link statuses...
84    Port 0 Link Up - speed 10000 Mbps - full-duplex
85    Done
86    testpmd>