Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
#
# Mellanox driver configuration
#

config CONFIG_MLX5_CORE
	tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
	depends on CONFIG_PCI
	select CONFIG_NET_DEVLINK
	imply CONFIG_PTP_1588_CLOCK
	imply CONFIG_VXLAN
	imply CONFIG_MLXFW
	imply CONFIG_PCI_HYPERV_INTERFACE
	default n
	---help---
	  Core driver for low level functionality of the ConnectX-4 and
	  Connect-IB cards by Mellanox Technologies.

config CONFIG_MLX5_ACCEL
	bool

config CONFIG_MLX5_FPGA
	bool "Mellanox Technologies Innova support"
	depends on CONFIG_MLX5_CORE
	select CONFIG_MLX5_ACCEL
	---help---
	  Build support for the Innova family of network cards by Mellanox
	  Technologies. Innova network cards are comprised of a ConnectX chip
	  and an CONFIG_FPGA chip on one board. If you select this option, the
	  mlx5_core driver will include the Innova CONFIG_FPGA core and allow building
	  sandbox-specific client drivers.

config CONFIG_MLX5_CORE_EN
	bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
	depends on CONFIG_NETDEVICES && CONFIG_ETHERNET && CONFIG_INET && CONFIG_PCI && CONFIG_MLX5_CORE
	select CONFIG_PAGE_POOL
	select CONFIG_DIMLIB
	default n
	---help---
	  Ethernet support in Mellanox Technologies ConnectX-4 NIC.

config CONFIG_MLX5_EN_ARFS
	bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
	depends on CONFIG_MLX5_CORE_EN && CONFIG_RFS_ACCEL
	default y
	---help---
	  Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
	  Enables ethernet netdevice arfs support and ntuple filtering.

config CONFIG_MLX5_EN_RXNFC
	bool "Mellanox MLX5 ethernet rx nfc flow steering support"
	depends on CONFIG_MLX5_CORE_EN
	default y
	---help---
	  Mellanox MLX5 ethernet rx nfc flow steering support
	  Enables ethtool receive network flow classification, which allows user defined
	  flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
	  API.

config CONFIG_MLX5_MPFS
	bool "Mellanox Technologies MLX5 MPFS support"
	depends on CONFIG_MLX5_CORE_EN
	default y
	---help---
	  Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
	  support in ConnectX NIC. MPFs is required for when multi-PF configuration
	  is enabled to allow passing user configured unicast CONFIG_MAC addresses to the
	  requesting PF.

config CONFIG_MLX5_ESWITCH
	bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
	depends on CONFIG_MLX5_CORE_EN && CONFIG_NET_SWITCHDEV
	default y
	---help---
	  Mellanox Technologies Ethernet SRIOV CONFIG_E-Switch support in ConnectX NIC.
	  CONFIG_E-Switch provides internal SRIOV packet steering and switching for the
	  enabled VFs and PF in two available modes:
	        Legacy SRIOV mode (L2 mac vlan steering based).
	        Switchdev mode (eswitch offloads).

config CONFIG_MLX5_CORE_EN_DCB
	bool "Data Center Bridging (DCB) Support"
	default y
	depends on CONFIG_MLX5_CORE_EN && CONFIG_DCB
	---help---
	  Say Y here if you want to use Data Center Bridging (CONFIG_DCB) in the
	  driver.
	  If set to N, will not be able to configure QoS and ratelimit attributes.
	  This flag is depended on the kernel's CONFIG_DCB support.

	  If unsure, set to Y

config CONFIG_MLX5_CORE_IPOIB
	bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
	depends on CONFIG_MLX5_CORE_EN
	default n
	---help---
	  MLX5 IPoIB offloads & acceleration support.

config CONFIG_MLX5_FPGA_IPSEC
	bool "Mellanox Technologies IPsec Innova support"
	depends on CONFIG_MLX5_CORE
	depends on CONFIG_MLX5_FPGA
	default n
	help
	Build IPsec support for the Innova family of network cards by Mellanox
	Technologies. Innova network cards are comprised of a ConnectX chip
	and an CONFIG_FPGA chip on one board. If you select this option, the
	mlx5_core driver will include the Innova CONFIG_FPGA core and allow building
	sandbox-specific client drivers.

config CONFIG_MLX5_EN_IPSEC
	bool "IPSec XFRM cryptography-offload accelaration"
	depends on CONFIG_MLX5_CORE_EN
	depends on CONFIG_XFRM_OFFLOAD
	depends on CONFIG_INET_ESP_OFFLOAD || CONFIG_INET6_ESP_OFFLOAD
	depends on CONFIG_MLX5_FPGA_IPSEC
	default n
	help
	  Build support for IPsec cryptography-offload accelaration in the NIC.
	  Note: Support for hardware with this capability needs to be selected
	  for this option to become available.

config CONFIG_MLX5_FPGA_TLS
	bool "Mellanox Technologies TLS Innova support"
	depends on CONFIG_TLS_DEVICE
	depends on CONFIG_TLS=y || CONFIG_MLX5_CORE=m
	depends on CONFIG_MLX5_FPGA
	default n
	help
	Build CONFIG_TLS support for the Innova family of network cards by Mellanox
	Technologies. Innova network cards are comprised of a ConnectX chip
	and an CONFIG_FPGA chip on one board. If you select this option, the
	mlx5_core driver will include the Innova CONFIG_FPGA core and allow building
	sandbox-specific client drivers.

config CONFIG_MLX5_TLS
	bool "Mellanox Technologies TLS Connect-X support"
	depends on CONFIG_MLX5_CORE_EN
	depends on CONFIG_TLS_DEVICE
	depends on CONFIG_TLS=y || CONFIG_MLX5_CORE=m
	select CONFIG_MLX5_ACCEL
	default n
	help
	Build CONFIG_TLS support for the Connect-X family of network cards by Mellanox
	Technologies.

config CONFIG_MLX5_EN_TLS
	bool "TLS cryptography-offload accelaration"
	depends on CONFIG_MLX5_CORE_EN
	depends on CONFIG_MLX5_FPGA_TLS || CONFIG_MLX5_TLS
	default y
	help
	Build support for CONFIG_TLS cryptography-offload accelaration in the NIC.
	Note: Support for hardware with this capability needs to be selected
	for this option to become available.

config CONFIG_MLX5_SW_STEERING
	bool "Mellanox Technologies software-managed steering"
	depends on CONFIG_MLX5_CORE_EN && CONFIG_MLX5_ESWITCH
	default y
	help
	Build support for software-managed steering in the NIC.