0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig IP_SET
0003 tristate "IP set support"
0004 depends on INET && NETFILTER
0005 select NETFILTER_NETLINK
0006 help
0007 This option adds IP set support to the kernel.
0008 In order to define and use the sets, you need the userspace utility
0009 ipset(8). You can use the sets in netfilter via the "set" match
0010 and "SET" target.
0011
0012 To compile it as a module, choose M here. If unsure, say N.
0013
0014 if IP_SET
0015
0016 config IP_SET_MAX
0017 int "Maximum number of IP sets"
0018 default 256
0019 range 2 65534
0020 depends on IP_SET
0021 help
0022 You can define here default value of the maximum number
0023 of IP sets for the kernel.
0024
0025 The value can be overridden by the 'max_sets' module
0026 parameter of the 'ip_set' module.
0027
0028 config IP_SET_BITMAP_IP
0029 tristate "bitmap:ip set support"
0030 depends on IP_SET
0031 help
0032 This option adds the bitmap:ip set type support, by which one
0033 can store IPv4 addresses (or network addresse) from a range.
0034
0035 To compile it as a module, choose M here. If unsure, say N.
0036
0037 config IP_SET_BITMAP_IPMAC
0038 tristate "bitmap:ip,mac set support"
0039 depends on IP_SET
0040 help
0041 This option adds the bitmap:ip,mac set type support, by which one
0042 can store IPv4 address and (source) MAC address pairs from a range.
0043
0044 To compile it as a module, choose M here. If unsure, say N.
0045
0046 config IP_SET_BITMAP_PORT
0047 tristate "bitmap:port set support"
0048 depends on IP_SET
0049 help
0050 This option adds the bitmap:port set type support, by which one
0051 can store TCP/UDP port numbers from a range.
0052
0053 To compile it as a module, choose M here. If unsure, say N.
0054
0055 config IP_SET_HASH_IP
0056 tristate "hash:ip set support"
0057 depends on IP_SET
0058 help
0059 This option adds the hash:ip set type support, by which one
0060 can store arbitrary IPv4 or IPv6 addresses (or network addresses)
0061 in a set.
0062
0063 To compile it as a module, choose M here. If unsure, say N.
0064
0065 config IP_SET_HASH_IPMARK
0066 tristate "hash:ip,mark set support"
0067 depends on IP_SET
0068 help
0069 This option adds the hash:ip,mark set type support, by which one
0070 can store IPv4/IPv6 address and mark pairs.
0071
0072 To compile it as a module, choose M here. If unsure, say N.
0073
0074 config IP_SET_HASH_IPPORT
0075 tristate "hash:ip,port set support"
0076 depends on IP_SET
0077 help
0078 This option adds the hash:ip,port set type support, by which one
0079 can store IPv4/IPv6 address and protocol/port pairs.
0080
0081 To compile it as a module, choose M here. If unsure, say N.
0082
0083 config IP_SET_HASH_IPPORTIP
0084 tristate "hash:ip,port,ip set support"
0085 depends on IP_SET
0086 help
0087 This option adds the hash:ip,port,ip set type support, by which
0088 one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6
0089 address triples in a set.
0090
0091 To compile it as a module, choose M here. If unsure, say N.
0092
0093 config IP_SET_HASH_IPPORTNET
0094 tristate "hash:ip,port,net set support"
0095 depends on IP_SET
0096 help
0097 This option adds the hash:ip,port,net set type support, by which
0098 one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6
0099 network address/prefix triples in a set.
0100
0101 To compile it as a module, choose M here. If unsure, say N.
0102
0103 config IP_SET_HASH_IPMAC
0104 tristate "hash:ip,mac set support"
0105 depends on IP_SET
0106 help
0107 This option adds the hash:ip,mac set type support, by which
0108 one can store IPv4/IPv6 address and MAC (ethernet address) pairs in a set.
0109
0110 To compile it as a module, choose M here. If unsure, say N.
0111
0112 config IP_SET_HASH_MAC
0113 tristate "hash:mac set support"
0114 depends on IP_SET
0115 help
0116 This option adds the hash:mac set type support, by which
0117 one can store MAC (ethernet address) elements in a set.
0118
0119 To compile it as a module, choose M here. If unsure, say N.
0120
0121 config IP_SET_HASH_NETPORTNET
0122 tristate "hash:net,port,net set support"
0123 depends on IP_SET
0124 help
0125 This option adds the hash:net,port,net set type support, by which
0126 one can store two IPv4/IPv6 subnets, and a protocol/port in a set.
0127
0128 To compile it as a module, choose M here. If unsure, say N.
0129
0130 config IP_SET_HASH_NET
0131 tristate "hash:net set support"
0132 depends on IP_SET
0133 help
0134 This option adds the hash:net set type support, by which
0135 one can store IPv4/IPv6 network address/prefix elements in a set.
0136
0137 To compile it as a module, choose M here. If unsure, say N.
0138
0139 config IP_SET_HASH_NETNET
0140 tristate "hash:net,net set support"
0141 depends on IP_SET
0142 help
0143 This option adds the hash:net,net set type support, by which
0144 one can store IPv4/IPv6 network address/prefix pairs in a set.
0145
0146 To compile it as a module, choose M here. If unsure, say N.
0147
0148 config IP_SET_HASH_NETPORT
0149 tristate "hash:net,port set support"
0150 depends on IP_SET
0151 help
0152 This option adds the hash:net,port set type support, by which
0153 one can store IPv4/IPv6 network address/prefix and
0154 protocol/port pairs as elements in a set.
0155
0156 To compile it as a module, choose M here. If unsure, say N.
0157
0158 config IP_SET_HASH_NETIFACE
0159 tristate "hash:net,iface set support"
0160 depends on IP_SET
0161 help
0162 This option adds the hash:net,iface set type support, by which
0163 one can store IPv4/IPv6 network address/prefix and
0164 interface name pairs as elements in a set.
0165
0166 To compile it as a module, choose M here. If unsure, say N.
0167
0168 config IP_SET_LIST_SET
0169 tristate "list:set set support"
0170 depends on IP_SET
0171 help
0172 This option adds the list:set set type support. In this
0173 kind of set one can store the name of other sets and it forms
0174 an ordered union of the member sets.
0175
0176 To compile it as a module, choose M here. If unsure, say N.
0177
0178 endif # IP_SET