#
# TIPC configuration
#

menuconfig TIPC
	tristate "The TIPC Protocol"
	depends on INET
	---help---
	  The Transparent Inter Process Communication (TIPC) protocol is
	  specially designed for intra cluster communication. This protocol
	  originates from Ericsson where it has been used in carrier grade
	  cluster applications for many years.

	  For more information about TIPC, see http://tipc.sourceforge.net.

	  This protocol support is also available as a module ( = code which
	  can be inserted in and removed from the running kernel whenever you
	  want). The module will be called tipc. If you want to compile it
	  as a module, say M here and read <file:Documentation/kbuild/modules.txt>.

	  If in doubt, say N.

config TIPC_MEDIA_IB
	bool "InfiniBand media type support"
	depends on TIPC && INFINIBAND_IPOIB
	help
	  Saying Y here will enable support for running TIPC on
	  IP-over-InfiniBand devices.
config TIPC_MEDIA_UDP
	bool "IP/UDP media type support"
	depends on TIPC
	select NET_UDP_TUNNEL
	help
	  Saying Y here will enable support for running TIPC over IP/UDP
	bool
	default y

config TIPC_DIAG
	tristate "TIPC: socket monitoring interface"
	depends on TIPC
	default y
	---help---
	Support for TIPC socket monitoring interface used by ss tool.
	If unsure, say Y.
