Supported BlueField family SoCs
-------------------------------
-- `BlueField <http://www.mellanox.com/page/products_dyn?product_family=256&mtag=soc_overview>`_
+- `BlueField <https://docs.mellanox.com/category/bluefieldsnic>`_
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>`_
+- `BlueField-1 <https://docs.mellanox.com/display/bluefieldsniceth/Introduction>`_
+- `BlueField-2 <https://docs.mellanox.com/display/BlueField2DPUENUG/Introduction>`_
Common Offload HW Drivers
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>`_.
+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
Refer to :doc:`../nics/mlx5` for prerequisites. Either Mellanox OFED/EN or
rdma-core library with corresponding kernel drivers is required.
-make build
-^^^^^^^^^^
-
-.. code-block:: console
-
- make config T=arm64-bluefield-linuxapp-gcc
- make -j
-
-meson build
-^^^^^^^^^^^
-
.. code-block:: console
meson build
required:
- libibverbs
- - libmnl
- libmlx5
- libnl-3
- libnl-route-3
-Such header files and libraries can be cross-compiled and installed on to the
-cross toolchain directory like depicted in
-:ref:`arm_cross_build_getting_the_prerequisite_library`, but those can also be
-simply copied from the filesystem of a working BlueField platform. The following
-script can be run on a BlueField platform in order to create a supplementary
-tarball for the cross toolchain.
+Such header files and libraries can be cross-compiled and installed
+in the cross toolchain environment.
+They can also be simply copied from the filesystem of a working BlueField platform.
+The following script can be run on a BlueField platform in order to create
+a supplementary tarball for the cross toolchain.
.. code-block:: console
# Copy libraries
mkdir -p lib64
cp -a /lib64/libibverbs* lib64/
- cp -a /lib64/libmnl* lib64/
cp -a /lib64/libmlx5* lib64/
cp -a /lib64/libnl-3* lib64/
cp -a /lib64/libnl-route-3* lib64/
# Copy header files
mkdir -p usr/include/infiniband
- mkdir -p usr/include/libmnl
cp -a /usr/include/infiniband/ib_user_ioctl_verbs.h usr/include/infiniband/
cp -a /usr/include/infiniband/mlx5*.h usr/include/infiniband/
cp -a /usr/include/infiniband/tm_types.h usr/include/infiniband/
cp -a /usr/include/infiniband/verbs*.h usr/include/infiniband/
- cp -a /usr/include/libmnl/libmnl.h usr/include/libmnl/
# Create supplementary tarball
popd
cd $(dirname $(which aarch64-linux-gnu-gcc))/..
tar xf aarch64-linux-gnu-mlx.tar
-make build
-^^^^^^^^^^
-
-.. code-block:: console
-
- make config T=arm64-bluefield-linuxapp-gcc
- make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n
-
-meson build
-^^^^^^^^^^^
-
.. code-block:: console
meson build --cross-file config/arm/arm64_bluefield_linux_gcc