<commit_before>..  SPDX-License-Identifier: BSD-3-Clause
    Copyright 2019 Mellanox Technologies, Ltd

Mellanox BlueField Board Support Package
========================================

This document has information about steps to setup Mellanox BlueField platform
and common offload HW drivers of **Mellanox BlueField** family SoC.


Supported BlueField family SoCs
-------------------------------

- `BlueField <http://www.mellanox.com/page/products_dyn?product_family=256&mtag=soc_overview>`_


Supported BlueField Platforms
-----------------------------

- `BlueField SmartNIC <http://www.mellanox.com/page/products_dyn?product_family=275&mtag=bluefield_smart_nic>`_
- `BlueField Reference Platforms <http://www.mellanox.com/page/products_dyn?product_family=286&mtag=bluefield_platforms>`_
- `BlueField Controller Card <http://www.mellanox.com/page/products_dyn?product_family=288&mtag=bluefield_controller_card>`_


Common Offload HW Drivers
-------------------------

1. **NIC Driver**

   See :doc:`../nics/mlx5` for Mellanox mlx5 NIC driver information.

2. **Cryptodev Driver**

   This is based on the crypto extension support of armv8. See
   :doc:`../cryptodevs/armv8` for armv8 crypto driver information.

.. note::

   BlueField has a variant having no armv8 crypto extension support.


Steps To Setup Platform
-----------------------

Toolchains, OS and drivers can be downloaded and installed individually from the
Web. But it is recommended to follow instructions at
`Mellanox BlueField Software Website
<http://www.mellanox.com/page/products_dyn?product_family=279&mtag=bluefield_software>`_.


Compile DPDK
------------

DPDK can be compiled either natively on BlueField platforms or cross-compiled on
an x86 based platform.

Native Compilation
~~~~~~~~~~~~~~~~~~

Refer to :doc:`../nics/mlx5` for prerequisites. Either Mellanox OFED/EN or
rdma-core library with corresponding kernel drivers is required.

.. code-block:: console

        meson build
        ninja -C build

Cross Compilation<commit_msg>doc: update BlueField platform guide<commit_after>..  SPDX-License-Identifier: BSD-3-Clause
    Copyright 2019 Mellanox Technologies, Ltd

Mellanox BlueField Board Support Package
========================================

This document has information about steps to setup Mellanox BlueField platform
and common offload HW drivers of **Mellanox BlueField** family SoC.


Supported BlueField family SoCs
-------------------------------

- `BlueField <https://docs.mellanox.com/category/bluefieldsnic>`_


Supported BlueField Platforms
-----------------------------

- `BlueField-1 <https://docs.mellanox.com/display/bluefieldsniceth/Introduction>`_
- `BlueField-2 <https://docs.mellanox.com/display/BlueField2DPUENUG/Introduction>`_


Common Offload HW Drivers
-------------------------

1. **NIC Driver**

   See :doc:`../nics/mlx5` for Mellanox mlx5 NIC driver information.

2. **Cryptodev Driver**

   This is based on the crypto extension support of armv8. See
   :doc:`../cryptodevs/armv8` for armv8 crypto driver information.

.. note::

   BlueField has a variant having no armv8 crypto extension support.


Steps To Setup Platform
-----------------------

Toolchains, OS and drivers can be downloaded and installed individually
from the web, but it is recommended to follow instructions at:

- `Mellanox BlueField-1 Software Website <https://docs.mellanox.com/display/BlueFieldSWv31011424/SmartNIC+Bring-Up+and+Driver+Installation>`_
- `Mellanox BlueField-2 Software Website <https://docs.mellanox.com/display/NVIDIABlueField2DPUQSG#NVIDIABlueField2DPUSoftwareQuickStartGuide-Post-installationProcedurePost-installationProcedure>`_


Compile DPDK
------------

DPDK can be compiled either natively on BlueField platforms or cross-compiled on
an x86 based platform.

Native Compilation
~~~~~~~~~~~~~~~~~~

Refer to :doc:`../nics/mlx5` for prerequisites. Either Mellanox OFED/EN or
rdma-core library with corresponding kernel drivers is required.

.. code-block:: console

        meson build
        ninja -C build

Cross Compilation
{'fraction_non_alphanumeric': 0.16194929854787102, 'fraction_numerical': 0.015259660349495446, 'mean_word_length': 3.530657748049052, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 5, 'lorem ipsum': 0, 'www.': 5, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5374820', 'n_tokens_mistral': 1220, 'n_tokens_neox': 1150, 'n_words': 353}