linux/net/netfilter/ipset/Kconfig

# SPDX-License-Identifier: GPL-2.0-only
menuconfig IP_SET
	tristate "IP set support"
	depends on INET && NETFILTER
	select NETFILTER_NETLINK
	help
	  This option adds IP set support to the kernel.
	  In order to define and use the sets, you need the userspace utility
	  ipset(8). You can use the sets in netfilter via the "set" match
	  and "SET" target.

	  To compile it as a module, choose M here.  If unsure, say N.

if IP_SET

config IP_SET_MAX
	int "Maximum number of IP sets"
	default 256
	range 2 65534
	depends on IP_SET
	help
	  You can define here default value of the maximum number 
	  of IP sets for the kernel.

	  The value can be overridden by the 'max_sets' module
	  parameter of the 'ip_set' module.

config IP_SET_BITMAP_IP
	tristate "bitmap:ip set support"
	depends on IP_SET
	help
	  This option adds the bitmap:ip set type support, by which one
	  can store IPv4 addresses (or network addresses) from a range.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_BITMAP_IPMAC
	tristate "bitmap:ip,mac set support"
	depends on IP_SET
	help
	  This option adds the bitmap:ip,mac set type support, by which one
	  can store IPv4 address and (source) MAC address pairs from a range.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_BITMAP_PORT
	tristate "bitmap:port set support"
	depends on IP_SET
	help
	  This option adds the bitmap:port set type support, by which one
	  can store TCP/UDP port numbers from a range.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_IP
	tristate "hash:ip set support"
	depends on IP_SET
	help
	  This option adds the hash:ip set type support, by which one
	  can store arbitrary IPv4 or IPv6 addresses (or network addresses)
	  in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_IPMARK
	tristate "hash:ip,mark set support"
	depends on IP_SET
	help
	  This option adds the hash:ip,mark set type support, by which one
	  can store IPv4/IPv6 address and mark pairs.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_IPPORT
	tristate "hash:ip,port set support"
	depends on IP_SET
	help
	  This option adds the hash:ip,port set type support, by which one
	  can store IPv4/IPv6 address and protocol/port pairs.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_IPPORTIP
	tristate "hash:ip,port,ip set support"
	depends on IP_SET
	help
	  This option adds the hash:ip,port,ip set type support, by which
	  one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6
	  address triples in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_IPPORTNET
	tristate "hash:ip,port,net set support"
	depends on IP_SET
	help
	  This option adds the hash:ip,port,net set type support, by which
	  one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6
	  network address/prefix triples in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_IPMAC
	tristate "hash:ip,mac set support"
	depends on IP_SET
	help
	  This option adds the hash:ip,mac set type support, by which
	  one can store IPv4/IPv6 address and MAC (ethernet address) pairs in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_MAC
	tristate "hash:mac set support"
	depends on IP_SET
	help
	  This option adds the hash:mac set type support, by which
	  one can store MAC (ethernet address) elements in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_NETPORTNET
	tristate "hash:net,port,net set support"
	depends on IP_SET
	help
	  This option adds the hash:net,port,net set type support, by which
	  one can store two IPv4/IPv6 subnets, and a protocol/port in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_NET
	tristate "hash:net set support"
	depends on IP_SET
	help
	  This option adds the hash:net set type support, by which
	  one can store IPv4/IPv6 network address/prefix elements in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_NETNET
	tristate "hash:net,net set support"
	depends on IP_SET
	help
	  This option adds the hash:net,net  set type support, by which
	  one can store IPv4/IPv6 network address/prefix pairs in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_NETPORT
	tristate "hash:net,port set support"
	depends on IP_SET
	help
	  This option adds the hash:net,port set type support, by which
	  one can store IPv4/IPv6 network address/prefix and
	  protocol/port pairs as elements in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_HASH_NETIFACE
	tristate "hash:net,iface set support"
	depends on IP_SET
	help
	  This option adds the hash:net,iface set type support, by which
	  one can store IPv4/IPv6 network address/prefix and
	  interface name pairs as elements in a set.

	  To compile it as a module, choose M here.  If unsure, say N.

config IP_SET_LIST_SET
	tristate "list:set set support"
	depends on IP_SET
	help
	  This option adds the list:set set type support. In this
	  kind of set one can store the name of other sets and it forms
	  an ordered union of the member sets.

	  To compile it as a module, choose M here.  If unsure, say N.

endif # IP_SET