# SPDX-License-Identifier: GPL-2.0-only
config INFINIBAND_IPOIB
	tristate "IP-over-InfiniBand"
	depends on NETDEVICES && INET && (IPV6 || IPV6=n)
	help
	  Support for the IP-over-InfiniBand protocol (IPoIB). This
	  transports IP packets over InfiniBand so you can use your IB
	  device as a fancy NIC.

	  See Documentation/infiniband/ipoib.rst for more information

config INFINIBAND_IPOIB_CM
	bool "IP-over-InfiniBand Connected Mode support"
	depends on INFINIBAND_IPOIB
	default n
	help
	  This option enables support for IPoIB connected mode.  After
	  enabling this option, you need to switch to connected mode
	  through /sys/class/net/ibXXX/mode to actually create
	  connections, and then increase the interface MTU with
	  e.g. ifconfig ib0 mtu 65520.

	  WARNING: Enabling connected mode will trigger some packet
	  drops for multicast and UD mode traffic from this interface,
	  unless you limit mtu for these destinations to 2044.

config INFINIBAND_IPOIB_DEBUG
	bool "IP-over-InfiniBand debugging" if EXPERT
	depends on INFINIBAND_IPOIB
	default y
	help
	  This option causes debugging code to be compiled into the
	  IPoIB driver.  The output can be turned on via the
	  debug_level and mcast_debug_level module parameters (which
	  can also be set after the driver is loaded through sysfs).

	  This option also creates a directory tree under ipoib/ in
	  debugfs, which contains files that expose debugging
	  information about IB multicast groups used by the IPoIB
	  driver.

config INFINIBAND_IPOIB_DEBUG_DATA
	bool "IP-over-InfiniBand data path debugging"
	depends on INFINIBAND_IPOIB_DEBUG
	help
	  This option compiles debugging code into the data path
	  of the IPoIB driver.  The output can be turned on via the
	  data_debug_level module parameter; however, even with output
	  turned off, this debugging code will have some performance
	  impact.
