xref: /linux/net/netfilter/Kconfig (revision 8be4d31cb8aaeea27bde4b7ddb26e28a89062ebf)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
29fb9cbb1SYasuyuki Kozakaimenu "Core Netfilter Configuration"
3864e898bSMasahiro Yamada	depends on INET && NETFILTER
49fb9cbb1SYasuyuki Kozakai
5e687ad60SPablo Neiraconfig NETFILTER_INGRESS
6e687ad60SPablo Neira	bool "Netfilter ingress support"
7529985deSPablo Neira Ayuso	default y
8e687ad60SPablo Neira	select NET_INGRESS
9e687ad60SPablo Neira	help
10e687ad60SPablo Neira	  This allows you to classify packets from ingress using the Netfilter
11e687ad60SPablo Neira	  infrastructure.
12e687ad60SPablo Neira
1342df6e1dSLukas Wunnerconfig NETFILTER_EGRESS
1442df6e1dSLukas Wunner	bool "Netfilter egress support"
1542df6e1dSLukas Wunner	default y
1642df6e1dSLukas Wunner	select NET_EGRESS
1742df6e1dSLukas Wunner	help
1842df6e1dSLukas Wunner	  This allows you to classify packets before transmission using the
1942df6e1dSLukas Wunner	  Netfilter infrastructure.
2042df6e1dSLukas Wunner
2142df6e1dSLukas Wunnerconfig NETFILTER_SKIP_EGRESS
2242df6e1dSLukas Wunner	def_bool NETFILTER_EGRESS && (NET_CLS_ACT || IFB)
2342df6e1dSLukas Wunner
24f9e815b3SHarald Welteconfig NETFILTER_NETLINK
252eeeba39SPatrick McHardy	tristate
267af4cc3fSHarald Welte
272a95183aSFlorian Westphalconfig NETFILTER_FAMILY_BRIDGE
282a95183aSFlorian Westphal	bool
292a95183aSFlorian Westphal
302a95183aSFlorian Westphalconfig NETFILTER_FAMILY_ARP
312a95183aSFlorian Westphal	bool
322a95183aSFlorian Westphal
3384601d6eSFlorian Westphalconfig NETFILTER_BPF_LINK
3484601d6eSFlorian Westphal	def_bool BPF_SYSCALL
3584601d6eSFlorian Westphal
36e2cf17d3SFlorian Westphalconfig NETFILTER_NETLINK_HOOK
37e2cf17d3SFlorian Westphal	tristate "Netfilter base hook dump support"
38e2cf17d3SFlorian Westphal	depends on NETFILTER_ADVANCED
39d4fb1f95SFlorian Westphal	depends on NF_TABLES
40e2cf17d3SFlorian Westphal	select NETFILTER_NETLINK
41e2cf17d3SFlorian Westphal	help
42e2cf17d3SFlorian Westphal	  If this option is enabled, the kernel will include support
43e2cf17d3SFlorian Westphal	  to list the base netfilter hooks via NFNETLINK.
44e2cf17d3SFlorian Westphal	  This is helpful for debugging.
45e2cf17d3SFlorian Westphal
4694139027SPablo Neira Ayusoconfig NETFILTER_NETLINK_ACCT
4794139027SPablo Neira Ayuso	tristate "Netfilter NFACCT over NFNETLINK interface"
4894139027SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
4994139027SPablo Neira Ayuso	select NETFILTER_NETLINK
5094139027SPablo Neira Ayuso	help
5194139027SPablo Neira Ayuso	  If this option is enabled, the kernel will include support
5294139027SPablo Neira Ayuso	  for extended accounting via NFNETLINK.
5394139027SPablo Neira Ayuso
547af4cc3fSHarald Welteconfig NETFILTER_NETLINK_QUEUE
557af4cc3fSHarald Welte	tristate "Netfilter NFQUEUE over NFNETLINK interface"
5633b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
572eeeba39SPatrick McHardy	select NETFILTER_NETLINK
587af4cc3fSHarald Welte	help
597af4cc3fSHarald Welte	  If this option is enabled, the kernel will include support
607af4cc3fSHarald Welte	  for queueing packets via NFNETLINK.
617af4cc3fSHarald Welte
620597f268SHarald Welteconfig NETFILTER_NETLINK_LOG
630597f268SHarald Welte	tristate "Netfilter LOG over NFNETLINK interface"
6433b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
652eeeba39SPatrick McHardy	select NETFILTER_NETLINK
660597f268SHarald Welte	help
670597f268SHarald Welte	  If this option is enabled, the kernel will include support
680597f268SHarald Welte	  for logging packets via NFNETLINK.
690597f268SHarald Welte
700597f268SHarald Welte	  This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
710597f268SHarald Welte	  and is also scheduled to replace the old syslog-based ipt_LOG
720597f268SHarald Welte	  and ip6t_LOG modules.
730597f268SHarald Welte
74f6b7b5f4SFernando Fernandez Manceraconfig NETFILTER_NETLINK_OSF
75f6b7b5f4SFernando Fernandez Mancera	tristate "Netfilter OSF over NFNETLINK interface"
76f6b7b5f4SFernando Fernandez Mancera	depends on NETFILTER_ADVANCED
77f6b7b5f4SFernando Fernandez Mancera	select NETFILTER_NETLINK
78f6b7b5f4SFernando Fernandez Mancera	help
79f6b7b5f4SFernando Fernandez Mancera	  If this option is enabled, the kernel will include support
80f6b7b5f4SFernando Fernandez Mancera	  for passive OS fingerprint via NFNETLINK.
81f6b7b5f4SFernando Fernandez Mancera
82ab4f58c7SPatrick McHardyconfig NF_CONNTRACK
83b321e144SPatrick McHardy	tristate "Netfilter connection tracking support"
8433b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
85a0ae2562SFlorian Westphal	select NF_DEFRAG_IPV4
86a0ae2562SFlorian Westphal	select NF_DEFRAG_IPV6 if IPV6 != n
87b321e144SPatrick McHardy	help
889fb9cbb1SYasuyuki Kozakai	  Connection tracking keeps a record of what packets have passed
899fb9cbb1SYasuyuki Kozakai	  through your machine, in order to figure out how they are related
909fb9cbb1SYasuyuki Kozakai	  into connections.
919fb9cbb1SYasuyuki Kozakai
92b321e144SPatrick McHardy	  This is required to do Masquerading or other kinds of Network
93b11c16beSRuss Dill	  Address Translation.  It can also be used to enhance packet
94b11c16beSRuss Dill	  filtering (see `Connection state match support' below).
95b321e144SPatrick McHardy
96b321e144SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
97b321e144SPatrick McHardy
98db3187aeSFlorian Westphalconfig NF_LOG_SYSLOG
99db3187aeSFlorian Westphal	tristate "Syslog packet logging"
100db3187aeSFlorian Westphal	default m if NETFILTER_ADVANCED=n
101db3187aeSFlorian Westphal	help
102db3187aeSFlorian Westphal	  This option enable support for packet logging via syslog.
103e465cccdSFlorian Westphal	  It supports IPv4, IPV6, ARP and common transport protocols such
104e465cccdSFlorian Westphal	  as TCP and UDP.
105db3187aeSFlorian Westphal	  This is a simpler but less flexible logging method compared to
106db3187aeSFlorian Westphal	  CONFIG_NETFILTER_NETLINK_LOG.
107db3187aeSFlorian Westphal	  If both are enabled the backend to use can be configured at run-time
108db3187aeSFlorian Westphal	  by means of per-address-family sysctl tunables.
109db3187aeSFlorian Westphal
110c2df73deSJan Engelhardtif NF_CONNTRACK
111625c5561SFlorian Westphalconfig NETFILTER_CONNCOUNT
112625c5561SFlorian Westphal	tristate
113c2df73deSJan Engelhardt
1149fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_MARK
1159fb9cbb1SYasuyuki Kozakai	bool  'Connection mark tracking support'
11633b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1179fb9cbb1SYasuyuki Kozakai	help
1189fb9cbb1SYasuyuki Kozakai	  This option enables support for connection marks, used by the
1199fb9cbb1SYasuyuki Kozakai	  `CONNMARK' target and `connmark' match. Similar to the mark value
1209fb9cbb1SYasuyuki Kozakai	  of packets, but this mark value is kept in the conntrack session
1219fb9cbb1SYasuyuki Kozakai	  instead of the individual packets.
1229fb9cbb1SYasuyuki Kozakai
1237c9728c3SJames Morrisconfig NF_CONNTRACK_SECMARK
1247c9728c3SJames Morris	bool  'Connection tracking security mark support'
125c2df73deSJan Engelhardt	depends on NETWORK_SECMARK
12677076934SVegard Nossum	default y if NETFILTER_ADVANCED=n
1277c9728c3SJames Morris	help
1287c9728c3SJames Morris	  This option enables security markings to be applied to
1297c9728c3SJames Morris	  connections.  Typically they are copied to connections from
1307c9728c3SJames Morris	  packets using the CONNSECMARK target and copied back from
1317c9728c3SJames Morris	  connections to packets with the same target, with the packets
1327c9728c3SJames Morris	  being originally labeled via SECMARK.
1337c9728c3SJames Morris
1347c9728c3SJames Morris	  If unsure, say 'N'.
1357c9728c3SJames Morris
1365d0aa2ccSPatrick McHardyconfig NF_CONNTRACK_ZONES
1375d0aa2ccSPatrick McHardy	bool  'Connection tracking zones'
1385d0aa2ccSPatrick McHardy	depends on NETFILTER_ADVANCED
1395d0aa2ccSPatrick McHardy	help
1405d0aa2ccSPatrick McHardy	  This option enables support for connection tracking zones.
1415d0aa2ccSPatrick McHardy	  Normally, each connection needs to have a unique system wide
1425d0aa2ccSPatrick McHardy	  identity. Connection tracking zones allow to have multiple
1435d0aa2ccSPatrick McHardy	  connections using the same identity, as long as they are
1445d0aa2ccSPatrick McHardy	  contained in different zones.
1455d0aa2ccSPatrick McHardy
1465d0aa2ccSPatrick McHardy	  If unsure, say `N'.
1475d0aa2ccSPatrick McHardy
14854b07dcaSJan Engelhardtconfig NF_CONNTRACK_PROCFS
14954b07dcaSJan Engelhardt	bool "Supply CT list in procfs (OBSOLETE)"
15054b07dcaSJan Engelhardt	depends on PROC_FS
151a7f7f624SMasahiro Yamada	help
15254b07dcaSJan Engelhardt	This option enables for the list of known conntrack entries
15354b07dcaSJan Engelhardt	to be shown in procfs under net/netfilter/nf_conntrack. This
15454b07dcaSJan Engelhardt	is considered obsolete in favor of using the conntrack(8)
15554b07dcaSJan Engelhardt	tool which uses Netlink.
15654b07dcaSJan Engelhardt
1579fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_EVENTS
1588ce22fcaSPatrick McHardy	bool "Connection tracking events"
15933b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1609fb9cbb1SYasuyuki Kozakai	help
1619fb9cbb1SYasuyuki Kozakai	  If this option is enabled, the connection tracking code will
1629fb9cbb1SYasuyuki Kozakai	  provide a notifier chain that can be used by other kernel code
1639fb9cbb1SYasuyuki Kozakai	  to get notified about changes in the connection tracking state.
1649fb9cbb1SYasuyuki Kozakai
1659fb9cbb1SYasuyuki Kozakai	  If unsure, say `N'.
1669fb9cbb1SYasuyuki Kozakai
167dd705072SPablo Neira Ayusoconfig NF_CONNTRACK_TIMEOUT
168dd705072SPablo Neira Ayuso	bool  'Connection tracking timeout'
169dd705072SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
170dd705072SPablo Neira Ayuso	help
171dd705072SPablo Neira Ayuso	  This option enables support for connection tracking timeout
172dd705072SPablo Neira Ayuso	  extension. This allows you to attach timeout policies to flow
173dd705072SPablo Neira Ayuso	  via the CT target.
174dd705072SPablo Neira Ayuso
175dd705072SPablo Neira Ayuso	  If unsure, say `N'.
176dd705072SPablo Neira Ayuso
177a992ca2aSPablo Neira Ayusoconfig NF_CONNTRACK_TIMESTAMP
178a992ca2aSPablo Neira Ayuso	bool  'Connection tracking timestamping'
179a992ca2aSPablo Neira Ayuso	depends on NETFILTER_ADVANCED
180a992ca2aSPablo Neira Ayuso	help
181a992ca2aSPablo Neira Ayuso	  This option enables support for connection tracking timestamping.
182a992ca2aSPablo Neira Ayuso	  This allows you to store the flow start-time and to obtain
183a992ca2aSPablo Neira Ayuso	  the flow-stop time (once it has been destroyed) via Connection
184a992ca2aSPablo Neira Ayuso	  tracking events.
185a992ca2aSPablo Neira Ayuso
186a992ca2aSPablo Neira Ayuso	  If unsure, say `N'.
187a992ca2aSPablo Neira Ayuso
188c539f017SFlorian Westphalconfig NF_CONNTRACK_LABELS
1897bdfcea8SFlorian Westphal	bool "Connection tracking labels"
190c539f017SFlorian Westphal	help
191c539f017SFlorian Westphal	  This option enables support for assigning user-defined flag bits
1927bdfcea8SFlorian Westphal	  to connection tracking entries.  It can be used with xtables connlabel
1937bdfcea8SFlorian Westphal	  match and the nftables ct expression.
194c539f017SFlorian Westphal
195c0c3ab63SXin Longconfig NF_CONNTRACK_OVS
196c0c3ab63SXin Long	bool
197c0c3ab63SXin Long
198f09943feSPatrick McHardyconfig NF_CT_PROTO_GRE
19922fc4c4cSFlorian Westphal	bool
200f09943feSPatrick McHardy
2019fb9cbb1SYasuyuki Kozakaiconfig NF_CT_PROTO_SCTP
202a85406afSDavide Caratti	bool 'SCTP protocol connection tracking support'
20333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
204a85406afSDavide Caratti	default y
20599de9d40SEric Biggers	select NET_CRC32C
2069fb9cbb1SYasuyuki Kozakai	help
2079fb9cbb1SYasuyuki Kozakai	  With this option enabled, the layer 3 independent connection
2089fb9cbb1SYasuyuki Kozakai	  tracking code will be able to do state tracking on SCTP connections.
2099fb9cbb1SYasuyuki Kozakai
210a85406afSDavide Caratti	  If unsure, say Y.
2119fb9cbb1SYasuyuki Kozakai
21259eecdfbSPatrick McHardyconfig NF_CT_PROTO_UDPLITE
2139b91c96cSDavide Caratti	bool 'UDP-Lite protocol connection tracking support'
21433b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
2159b91c96cSDavide Caratti	default y
21659eecdfbSPatrick McHardy	help
21759eecdfbSPatrick McHardy	  With this option enabled, the layer 3 independent connection
21859eecdfbSPatrick McHardy	  tracking code will be able to do state tracking on UDP-Lite
21959eecdfbSPatrick McHardy	  connections.
22059eecdfbSPatrick McHardy
2219b91c96cSDavide Caratti	  If unsure, say Y.
22259eecdfbSPatrick McHardy
22316958900SPatrick McHardyconfig NF_CONNTRACK_AMANDA
224c9386cfdSPatrick McHardy	tristate "Amanda backup protocol support"
22533b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
22616958900SPatrick McHardy	select TEXTSEARCH
22716958900SPatrick McHardy	select TEXTSEARCH_KMP
22816958900SPatrick McHardy	help
22916958900SPatrick McHardy	  If you are running the Amanda backup package <http://www.amanda.org/>
23016958900SPatrick McHardy	  on this machine or machines that will be MASQUERADED through this
23116958900SPatrick McHardy	  machine, then you may want to enable this feature.  This allows the
23216958900SPatrick McHardy	  connection tracking and natting code to allow the sub-channels that
23316958900SPatrick McHardy	  Amanda requires for communication of the backup data, messages and
23416958900SPatrick McHardy	  index.
23516958900SPatrick McHardy
23616958900SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
23716958900SPatrick McHardy
2389fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_FTP
239c9386cfdSPatrick McHardy	tristate "FTP protocol support"
24033b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
2419fb9cbb1SYasuyuki Kozakai	help
2429fb9cbb1SYasuyuki Kozakai	  Tracking FTP connections is problematic: special helpers are
2439fb9cbb1SYasuyuki Kozakai	  required for tracking them, and doing masquerading and other forms
2449fb9cbb1SYasuyuki Kozakai	  of Network Address Translation on them.
2459fb9cbb1SYasuyuki Kozakai
2469fb9cbb1SYasuyuki Kozakai	  This is FTP support on Layer 3 independent connection tracking.
2479fb9cbb1SYasuyuki Kozakai
2489fb9cbb1SYasuyuki Kozakai	  To compile it as a module, choose M here.  If unsure, say N.
2499fb9cbb1SYasuyuki Kozakai
250f587de0eSPatrick McHardyconfig NF_CONNTRACK_H323
2518ce22fcaSPatrick McHardy	tristate "H.323 protocol support"
252f09becc7SPablo Neira Ayuso	depends on IPV6 || IPV6=n
25333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
254f587de0eSPatrick McHardy	help
255f587de0eSPatrick McHardy	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most
256f587de0eSPatrick McHardy	  important VoIP protocols, it is widely used by voice hardware and
257f587de0eSPatrick McHardy	  software including voice gateways, IP phones, Netmeeting, OpenPhone,
258f587de0eSPatrick McHardy	  Gnomemeeting, etc.
259f587de0eSPatrick McHardy
260f587de0eSPatrick McHardy	  With this module you can support H.323 on a connection tracking/NAT
261f587de0eSPatrick McHardy	  firewall.
262f587de0eSPatrick McHardy
263f587de0eSPatrick McHardy	  This module supports RAS, Fast Start, H.245 Tunnelling, Call
264f587de0eSPatrick McHardy	  Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
265f587de0eSPatrick McHardy	  whiteboard, file transfer, etc. For more information, please
266f587de0eSPatrick McHardy	  visit http://nath323.sourceforge.net/.
267f587de0eSPatrick McHardy
268f587de0eSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
269f587de0eSPatrick McHardy
270869f37d8SPatrick McHardyconfig NF_CONNTRACK_IRC
271c9386cfdSPatrick McHardy	tristate "IRC protocol support"
27233b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
273869f37d8SPatrick McHardy	help
274869f37d8SPatrick McHardy	  There is a commonly-used extension to IRC called
275869f37d8SPatrick McHardy	  Direct Client-to-Client Protocol (DCC).  This enables users to send
276869f37d8SPatrick McHardy	  files to each other, and also chat to each other without the need
277869f37d8SPatrick McHardy	  of a server.  DCC Sending is used anywhere you send files over IRC,
278869f37d8SPatrick McHardy	  and DCC Chat is most commonly used by Eggdrop bots.  If you are
279869f37d8SPatrick McHardy	  using NAT, this extension will enable you to send files and initiate
280869f37d8SPatrick McHardy	  chats.  Note that you do NOT need this extension to get files or
281869f37d8SPatrick McHardy	  have others initiate chats, or everything else in IRC.
282869f37d8SPatrick McHardy
283869f37d8SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
284869f37d8SPatrick McHardy
28593557f53SJiri Olsaconfig NF_CONNTRACK_BROADCAST
28693557f53SJiri Olsa	tristate
28793557f53SJiri Olsa
28892703eeeSPatrick McHardyconfig NF_CONNTRACK_NETBIOS_NS
2898ce22fcaSPatrick McHardy	tristate "NetBIOS name service protocol support"
29093557f53SJiri Olsa	select NF_CONNTRACK_BROADCAST
29192703eeeSPatrick McHardy	help
29292703eeeSPatrick McHardy	  NetBIOS name service requests are sent as broadcast messages from an
29392703eeeSPatrick McHardy	  unprivileged port and responded to with unicast messages to the
29492703eeeSPatrick McHardy	  same port. This make them hard to firewall properly because connection
29592703eeeSPatrick McHardy	  tracking doesn't deal with broadcasts. This helper tracks locally
29692703eeeSPatrick McHardy	  originating NetBIOS name service requests and the corresponding
29792703eeeSPatrick McHardy	  responses. It relies on correct IP address configuration, specifically
29892703eeeSPatrick McHardy	  netmask and broadcast address. When properly configured, the output
29992703eeeSPatrick McHardy	  of "ip address show" should look similar to this:
30092703eeeSPatrick McHardy
30192703eeeSPatrick McHardy	  $ ip -4 address show eth0
30292703eeeSPatrick McHardy	  4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
30392703eeeSPatrick McHardy	      inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
30492703eeeSPatrick McHardy
30592703eeeSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
30692703eeeSPatrick McHardy
30793557f53SJiri Olsaconfig NF_CONNTRACK_SNMP
30893557f53SJiri Olsa	tristate "SNMP service protocol support"
30993557f53SJiri Olsa	depends on NETFILTER_ADVANCED
31093557f53SJiri Olsa	select NF_CONNTRACK_BROADCAST
31193557f53SJiri Olsa	help
31293557f53SJiri Olsa	  SNMP service requests are sent as broadcast messages from an
31393557f53SJiri Olsa	  unprivileged port and responded to with unicast messages to the
31493557f53SJiri Olsa	  same port. This make them hard to firewall properly because connection
31593557f53SJiri Olsa	  tracking doesn't deal with broadcasts. This helper tracks locally
31693557f53SJiri Olsa	  originating SNMP service requests and the corresponding
31793557f53SJiri Olsa	  responses. It relies on correct IP address configuration, specifically
31893557f53SJiri Olsa	  netmask and broadcast address.
31993557f53SJiri Olsa
32093557f53SJiri Olsa	  To compile it as a module, choose M here.  If unsure, say N.
32193557f53SJiri Olsa
322f09943feSPatrick McHardyconfig NF_CONNTRACK_PPTP
323c9386cfdSPatrick McHardy	tristate "PPtP protocol support"
32433b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
325f09943feSPatrick McHardy	select NF_CT_PROTO_GRE
326f09943feSPatrick McHardy	help
327f09943feSPatrick McHardy	  This module adds support for PPTP (Point to Point Tunnelling
328f09943feSPatrick McHardy	  Protocol, RFC2637) connection tracking and NAT.
329f09943feSPatrick McHardy
330f09943feSPatrick McHardy	  If you are running PPTP sessions over a stateful firewall or NAT
331f09943feSPatrick McHardy	  box, you may want to enable this feature.
332f09943feSPatrick McHardy
333f09943feSPatrick McHardy	  Please note that not all PPTP modes of operation are supported yet.
334f09943feSPatrick McHardy	  Specifically these limitations exist:
3353dde6ad8SDavid Sterba	    - Blindly assumes that control connections are always established
336f09943feSPatrick McHardy	      in PNS->PAC direction. This is a violation of RFC2637.
337f09943feSPatrick McHardy	    - Only supports a single call within each session
338f09943feSPatrick McHardy
339f09943feSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
340f09943feSPatrick McHardy
3416fecd198SMichal Schmidtconfig NF_CONNTRACK_SANE
342663ef0d1SKees Cook	tristate "SANE protocol support"
34333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
3446fecd198SMichal Schmidt	help
3456fecd198SMichal Schmidt	  SANE is a protocol for remote access to scanners as implemented
3466fecd198SMichal Schmidt	  by the 'saned' daemon. Like FTP, it uses separate control and
3476fecd198SMichal Schmidt	  data connections.
3486fecd198SMichal Schmidt
3496fecd198SMichal Schmidt	  With this module you can support SANE on a connection tracking
3506fecd198SMichal Schmidt	  firewall.
3516fecd198SMichal Schmidt
3526fecd198SMichal Schmidt	  To compile it as a module, choose M here.  If unsure, say N.
3536fecd198SMichal Schmidt
3549fafcd7bSPatrick McHardyconfig NF_CONNTRACK_SIP
3558ce22fcaSPatrick McHardy	tristate "SIP protocol support"
35633b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
3579fafcd7bSPatrick McHardy	help
3589fafcd7bSPatrick McHardy	  SIP is an application-layer control protocol that can establish,
3599fafcd7bSPatrick McHardy	  modify, and terminate multimedia sessions (conferences) such as
36005ba4c89SYonatan Goldschmidt	  Internet telephony calls. With the nf_conntrack_sip and
3619fafcd7bSPatrick McHardy	  the nf_nat_sip modules you can support the protocol on a connection
3629fafcd7bSPatrick McHardy	  tracking/NATing firewall.
3639fafcd7bSPatrick McHardy
3649fafcd7bSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
3659fafcd7bSPatrick McHardy
366a536df35SPatrick McHardyconfig NF_CONNTRACK_TFTP
367c9386cfdSPatrick McHardy	tristate "TFTP protocol support"
36833b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
369a536df35SPatrick McHardy	help
370a536df35SPatrick McHardy	  TFTP connection tracking helper, this is required depending
371a536df35SPatrick McHardy	  on how restrictive your ruleset is.
372a536df35SPatrick McHardy	  If you are using a tftp client behind -j SNAT or -j MASQUERADING
373a536df35SPatrick McHardy	  you will need this.
374a536df35SPatrick McHardy
375a536df35SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
376a536df35SPatrick McHardy
377c1d10adbSPablo Neira Ayusoconfig NF_CT_NETLINK
3788ce22fcaSPatrick McHardy	tristate 'Connection tracking netlink interface'
3792eeeba39SPatrick McHardy	select NETFILTER_NETLINK
38033b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
381c1d10adbSPablo Neira Ayuso	help
382c1d10adbSPablo Neira Ayuso	  This option enables support for a netlink-based userspace interface
383c1d10adbSPablo Neira Ayuso
38450978462SPablo Neira Ayusoconfig NF_CT_NETLINK_TIMEOUT
38550978462SPablo Neira Ayuso	tristate  'Connection tracking timeout tuning via Netlink'
38650978462SPablo Neira Ayuso	select NETFILTER_NETLINK
38750978462SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
388c7530326SHarsha Sharma	depends on NF_CONNTRACK_TIMEOUT
38950978462SPablo Neira Ayuso	help
39050978462SPablo Neira Ayuso	  This option enables support for connection tracking timeout
39150978462SPablo Neira Ayuso	  fine-grain tuning. This allows you to attach specific timeout
39250978462SPablo Neira Ayuso	  policies to flows, instead of using the global timeout policy.
39350978462SPablo Neira Ayuso
39450978462SPablo Neira Ayuso	  If unsure, say `N'.
39550978462SPablo Neira Ayuso
3966e9c2db3SPablo Neira Ayusoconfig NF_CT_NETLINK_HELPER
3976e9c2db3SPablo Neira Ayuso	tristate 'Connection tracking helpers in user-space via Netlink'
3986e9c2db3SPablo Neira Ayuso	select NETFILTER_NETLINK
3996e9c2db3SPablo Neira Ayuso	depends on NF_CT_NETLINK
4006e9c2db3SPablo Neira Ayuso	depends on NETFILTER_NETLINK_QUEUE
40183f3e94dSKen-ichirou MATSUZAWA	depends on NETFILTER_NETLINK_GLUE_CT
4026e9c2db3SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
4036e9c2db3SPablo Neira Ayuso	help
4046e9c2db3SPablo Neira Ayuso	  This option enables the user-space connection tracking helpers
4056e9c2db3SPablo Neira Ayuso	  infrastructure.
4066e9c2db3SPablo Neira Ayuso
4076e9c2db3SPablo Neira Ayuso	  If unsure, say `N'.
4086e9c2db3SPablo Neira Ayuso
40983f3e94dSKen-ichirou MATSUZAWAconfig NETFILTER_NETLINK_GLUE_CT
410a29a9a58SKen-ichirou MATSUZAWA	bool "NFQUEUE and NFLOG integration with Connection Tracking"
4117c622345SPablo Neira Ayuso	default n
412a29a9a58SKen-ichirou MATSUZAWA	depends on (NETFILTER_NETLINK_QUEUE || NETFILTER_NETLINK_LOG) && NF_CT_NETLINK
4137c622345SPablo Neira Ayuso	help
414a29a9a58SKen-ichirou MATSUZAWA	  If this option is enabled, NFQUEUE and NFLOG can include
415a29a9a58SKen-ichirou MATSUZAWA	  Connection Tracking information together with the packet is
416a29a9a58SKen-ichirou MATSUZAWA	  the enqueued via NFNETLINK.
4177c622345SPablo Neira Ayuso
418c7232c99SPatrick McHardyconfig NF_NAT
4193bf195aeSFlorian Westphal	tristate "Network Address Translation support"
4203bf195aeSFlorian Westphal	depends on NF_CONNTRACK
4213bf195aeSFlorian Westphal	default m if NETFILTER_ADVANCED=n
4223bf195aeSFlorian Westphal	help
4233bf195aeSFlorian Westphal	  The NAT option allows masquerading, port forwarding and other
4243bf195aeSFlorian Westphal	  forms of full Network Address Port Translation. This can be
4253bf195aeSFlorian Westphal	  controlled by iptables, ip6tables or nft.
426c7232c99SPatrick McHardy
427ee6eb966SPatrick McHardyconfig NF_NAT_AMANDA
428ee6eb966SPatrick McHardy	tristate
429ee6eb966SPatrick McHardy	depends on NF_CONNTRACK && NF_NAT
430ee6eb966SPatrick McHardy	default NF_NAT && NF_CONNTRACK_AMANDA
431ee6eb966SPatrick McHardy
432d33cbeebSPatrick McHardyconfig NF_NAT_FTP
433d33cbeebSPatrick McHardy	tristate
434d33cbeebSPatrick McHardy	depends on NF_CONNTRACK && NF_NAT
435d33cbeebSPatrick McHardy	default NF_NAT && NF_CONNTRACK_FTP
436d33cbeebSPatrick McHardy
4375901b6beSPablo Neira Ayusoconfig NF_NAT_IRC
4385901b6beSPablo Neira Ayuso	tristate
4395901b6beSPablo Neira Ayuso	depends on NF_CONNTRACK && NF_NAT
4405901b6beSPablo Neira Ayuso	default NF_NAT && NF_CONNTRACK_IRC
4415901b6beSPablo Neira Ayuso
4429a664821SPatrick McHardyconfig NF_NAT_SIP
4439a664821SPatrick McHardy	tristate
4449a664821SPatrick McHardy	depends on NF_CONNTRACK && NF_NAT
4459a664821SPatrick McHardy	default NF_NAT && NF_CONNTRACK_SIP
4469a664821SPatrick McHardy
447320ff567SPablo Neira Ayusoconfig NF_NAT_TFTP
448320ff567SPablo Neira Ayuso	tristate
449320ff567SPablo Neira Ayuso	depends on NF_CONNTRACK && NF_NAT
450320ff567SPablo Neira Ayuso	default NF_NAT && NF_CONNTRACK_TFTP
451320ff567SPablo Neira Ayuso
452b59eaf9eSPablo Neira Ayusoconfig NF_NAT_REDIRECT
4531ac89d20SFlorian Westphal	bool
454b59eaf9eSPablo Neira Ayuso
455d1aca8abSFlorian Westphalconfig NF_NAT_MASQUERADE
456d1aca8abSFlorian Westphal	bool
457d1aca8abSFlorian Westphal
458ebddb140SXin Longconfig NF_NAT_OVS
459ebddb140SXin Long	bool
460ebddb140SXin Long
46148b1de4cSPatrick McHardyconfig NETFILTER_SYNPROXY
46248b1de4cSPatrick McHardy	tristate
46348b1de4cSPatrick McHardy
4644b070662SLaszlo Attila Tothendif # NF_CONNTRACK
4654b070662SLaszlo Attila Toth
46696518518SPatrick McHardyconfig NF_TABLES
4675f291c28SEric Leblond	select NETFILTER_NETLINK
46899de9d40SEric Biggers	select NET_CRC32C
46996518518SPatrick McHardy	tristate "Netfilter nf_tables support"
470d497c635SPablo Neira Ayuso	help
471d497c635SPablo Neira Ayuso	  nftables is the new packet classification framework that intends to
472d497c635SPablo Neira Ayuso	  replace the existing {ip,ip6,arp,eb}_tables infrastructure. It
473d497c635SPablo Neira Ayuso	  provides a pseudo-state machine with an extensible instruction-set
474d497c635SPablo Neira Ayuso	  (also known as expressions) that the userspace 'nft' utility
47550935339SAlexander A. Klimov	  (https://www.netfilter.org/projects/nftables) uses to build the
476d497c635SPablo Neira Ayuso	  rule-set. It also comes with the generic set infrastructure that
477d497c635SPablo Neira Ayuso	  allows you to construct mappings between matchings and actions
478d497c635SPablo Neira Ayuso	  for performance lookups.
479d497c635SPablo Neira Ayuso
480d497c635SPablo Neira Ayuso	  To compile it as a module, choose M here.
48196518518SPatrick McHardy
482f04e599eSPablo Neira Ayusoif NF_TABLES
4831d49144cSPatrick McHardyconfig NF_TABLES_INET
484f04e599eSPablo Neira Ayuso	depends on IPV6
4851d49144cSPatrick McHardy	select NF_TABLES_IPV4
4861d49144cSPatrick McHardy	select NF_TABLES_IPV6
48702c7b25eSPablo Neira Ayuso	bool "Netfilter nf_tables mixed IPv4/IPv6 tables support"
4881d49144cSPatrick McHardy	help
4891d49144cSPatrick McHardy	  This option enables support for a mixed IPv4/IPv6 "inet" table.
4901d49144cSPatrick McHardy
491ed6c4136SPablo Neira Ayusoconfig NF_TABLES_NETDEV
49202c7b25eSPablo Neira Ayuso	bool "Netfilter nf_tables netdev tables support"
493ed6c4136SPablo Neira Ayuso	help
494ed6c4136SPablo Neira Ayuso	  This option enables support for the "netdev" table.
495ed6c4136SPablo Neira Ayuso
49691dbc6beSLaura Garcia Liebanaconfig NFT_NUMGEN
49791dbc6beSLaura Garcia Liebana	tristate "Netfilter nf_tables number generator module"
49891dbc6beSLaura Garcia Liebana	help
49991dbc6beSLaura Garcia Liebana	  This option adds the number generator expression used to perform
50091dbc6beSLaura Garcia Liebana	  incremental counting and random numbers bound to a upper limit.
50191dbc6beSLaura Garcia Liebana
50296518518SPatrick McHardyconfig NFT_CT
50396518518SPatrick McHardy	depends on NF_CONNTRACK
50496518518SPatrick McHardy	tristate "Netfilter nf_tables conntrack module"
505d497c635SPablo Neira Ayuso	help
506e4670b05SWilliam Breathitt Gray	  This option adds the "ct" expression that you can use to match
507d497c635SPablo Neira Ayuso	  connection tracking information such as the flow state.
50896518518SPatrick McHardy
509fd72f265SPablo Neira Ayusoconfig NFT_EXTHDR_DCCP
510fd72f265SPablo Neira Ayuso	bool "Netfilter nf_tables exthdr DCCP support (DEPRECATED)"
511fd72f265SPablo Neira Ayuso	default n
512fd72f265SPablo Neira Ayuso	help
513fd72f265SPablo Neira Ayuso	  This option adds support for matching on DCCP extension headers.
514fd72f265SPablo Neira Ayuso
515a3c90f7aSPablo Neira Ayusoconfig NFT_FLOW_OFFLOAD
5169be9d04bSArnd Bergmann	depends on NF_CONNTRACK && NF_FLOW_TABLE
517a3c90f7aSPablo Neira Ayuso	tristate "Netfilter nf_tables hardware flow offload module"
518a3c90f7aSPablo Neira Ayuso	help
519a3c90f7aSPablo Neira Ayuso	  This option adds the "flow_offload" expression that you can use to
520a3c90f7aSPablo Neira Ayuso	  choose what flows are placed into the hardware.
521a3c90f7aSPablo Neira Ayuso
522290180e2SPablo Neira Ayusoconfig NFT_CONNLIMIT
523290180e2SPablo Neira Ayuso	tristate "Netfilter nf_tables connlimit module"
524290180e2SPablo Neira Ayuso	depends on NF_CONNTRACK
525290180e2SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
526290180e2SPablo Neira Ayuso	select NETFILTER_CONNCOUNT
527290180e2SPablo Neira Ayuso	help
528290180e2SPablo Neira Ayuso	  This option adds the "connlimit" expression that you can use to
529290180e2SPablo Neira Ayuso	  ratelimit rule matchings per connections.
530290180e2SPablo Neira Ayuso
53196518518SPatrick McHardyconfig NFT_LOG
53296518518SPatrick McHardy	tristate "Netfilter nf_tables log module"
533d497c635SPablo Neira Ayuso	help
534d497c635SPablo Neira Ayuso	  This option adds the "log" expression that you can use to log
535d497c635SPablo Neira Ayuso	  packets matching some criteria.
53696518518SPatrick McHardy
53796518518SPatrick McHardyconfig NFT_LIMIT
53896518518SPatrick McHardy	tristate "Netfilter nf_tables limit module"
539d497c635SPablo Neira Ayuso	help
540d497c635SPablo Neira Ayuso	  This option adds the "limit" expression that you can use to
541d497c635SPablo Neira Ayuso	  ratelimit rule matchings.
54296518518SPatrick McHardy
5439ba1f726SArturo Borreroconfig NFT_MASQ
5449ba1f726SArturo Borrero	depends on NF_CONNTRACK
5459ba1f726SArturo Borrero	depends on NF_NAT
546a9ce849eSFlorian Westphal	select NF_NAT_MASQUERADE
5479ba1f726SArturo Borrero	tristate "Netfilter nf_tables masquerade support"
5489ba1f726SArturo Borrero	help
5499ba1f726SArturo Borrero	  This option adds the "masquerade" expression that you can use
5509ba1f726SArturo Borrero	  to perform NAT in the masquerade flavour.
5519ba1f726SArturo Borrero
552e9105f1bSArturo Borreroconfig NFT_REDIR
553e9105f1bSArturo Borrero	depends on NF_CONNTRACK
554e9105f1bSArturo Borrero	depends on NF_NAT
555e9105f1bSArturo Borrero	tristate "Netfilter nf_tables redirect support"
556c78efc99SFlorian Westphal	select NF_NAT_REDIRECT
557e9105f1bSArturo Borrero	help
558e9105f1bSArturo Borrero	  This options adds the "redirect" expression that you can use
559e9105f1bSArturo Borrero	  to perform NAT in the redirect flavour.
560e9105f1bSArturo Borrero
561eb31628eSTomasz Bursztykaconfig NFT_NAT
562eb31628eSTomasz Bursztyka	depends on NF_CONNTRACK
5631e8430f3SPablo Neira Ayuso	select NF_NAT
564db8ab388SFlorian Westphal	depends on NF_TABLES_IPV4 || NF_TABLES_IPV6
565eb31628eSTomasz Bursztyka	tristate "Netfilter nf_tables nat module"
566d497c635SPablo Neira Ayuso	help
567d497c635SPablo Neira Ayuso	  This option adds the "nat" expression that you can use to perform
568d497c635SPablo Neira Ayuso	  typical Network Address Translation (NAT) packet transformations.
569eb31628eSTomasz Bursztyka
570af308b94SPablo Neira Ayusoconfig NFT_TUNNEL
571af308b94SPablo Neira Ayuso	tristate "Netfilter nf_tables tunnel module"
572af308b94SPablo Neira Ayuso	help
573af308b94SPablo Neira Ayuso	  This option adds the "tunnel" expression that you can use to set
574af308b94SPablo Neira Ayuso	  tunneling policies.
575af308b94SPablo Neira Ayuso
5760aff078dSEric Leblondconfig NFT_QUEUE
5770aff078dSEric Leblond	depends on NETFILTER_NETLINK_QUEUE
5780aff078dSEric Leblond	tristate "Netfilter nf_tables queue module"
5790aff078dSEric Leblond	help
5800aff078dSEric Leblond	  This is required if you intend to use the userspace queueing
5810aff078dSEric Leblond	  infrastructure (also known as NFQUEUE) from nftables.
5820aff078dSEric Leblond
5833d2f30a1SPablo Neira Ayusoconfig NFT_QUOTA
5843d2f30a1SPablo Neira Ayuso	tristate "Netfilter nf_tables quota module"
5853d2f30a1SPablo Neira Ayuso	help
5863d2f30a1SPablo Neira Ayuso	  This option adds the "quota" expression that you can use to match
5873d2f30a1SPablo Neira Ayuso	  enforce bytes quotas.
5883d2f30a1SPablo Neira Ayuso
589bee11dc7SEric Leblondconfig NFT_REJECT
590bee11dc7SEric Leblond	default m if NETFILTER_ADVANCED=n
591bee11dc7SEric Leblond	tristate "Netfilter nf_tables reject support"
592a6615743SArnd Bergmann	depends on !NF_TABLES_INET || (IPV6!=m || m)
593d497c635SPablo Neira Ayuso	help
594d497c635SPablo Neira Ayuso	  This option adds the "reject" expression that you can use to
595d497c635SPablo Neira Ayuso	  explicitly deny and notify via TCP reset/ICMP informational errors
596d497c635SPablo Neira Ayuso	  unallowed traffic.
5970ca743a5SPablo Neira Ayuso
59805513e9eSPatrick McHardyconfig NFT_REJECT_INET
59905513e9eSPatrick McHardy	depends on NF_TABLES_INET
60005513e9eSPatrick McHardy	default NFT_REJECT
60105513e9eSPatrick McHardy	tristate
60205513e9eSPatrick McHardy
6030ca743a5SPablo Neira Ayusoconfig NFT_COMPAT
6040ca743a5SPablo Neira Ayuso	depends on NETFILTER_XTABLES
6050ca743a5SPablo Neira Ayuso	tristate "Netfilter x_tables over nf_tables module"
6060ca743a5SPablo Neira Ayuso	help
6070ca743a5SPablo Neira Ayuso	  This is required if you intend to use any of existing
6080ca743a5SPablo Neira Ayuso	  x_tables match/target extensions over the nf_tables
6090ca743a5SPablo Neira Ayuso	  framework.
6100ca743a5SPablo Neira Ayuso
611cb1b69b0SLaura Garcia Liebanaconfig NFT_HASH
612cb1b69b0SLaura Garcia Liebana	tristate "Netfilter nf_tables hash module"
613cb1b69b0SLaura Garcia Liebana	help
614cb1b69b0SLaura Garcia Liebana	  This option adds the "hash" expression that you can use to perform
615cb1b69b0SLaura Garcia Liebana	  a hash operation on registers.
616cb1b69b0SLaura Garcia Liebana
617f6d0cbcfSFlorian Westphalconfig NFT_FIB
618f6d0cbcfSFlorian Westphal	tristate
619f6d0cbcfSFlorian Westphal
620f6d0cbcfSFlorian Westphalconfig NFT_FIB_INET
621f6d0cbcfSFlorian Westphal	depends on NF_TABLES_INET
622f6d0cbcfSFlorian Westphal	depends on NFT_FIB_IPV4
623f6d0cbcfSFlorian Westphal	depends on NFT_FIB_IPV6
624f6d0cbcfSFlorian Westphal	tristate "Netfilter nf_tables fib inet support"
625f6d0cbcfSFlorian Westphal	help
626f6d0cbcfSFlorian Westphal	  This option allows using the FIB expression from the inet table.
627f6d0cbcfSFlorian Westphal	  The lookup will be delegated to the IPv4 or IPv6 FIB depending
628f6d0cbcfSFlorian Westphal	  on the protocol of the packet.
629f6d0cbcfSFlorian Westphal
6306c472602SFlorian Westphalconfig NFT_XFRM
6316c472602SFlorian Westphal	tristate "Netfilter nf_tables xfrm/IPSec security association matching"
6326c472602SFlorian Westphal	depends on XFRM
6336c472602SFlorian Westphal	help
6346c472602SFlorian Westphal	  This option adds an expression that you can use to extract properties
6356c472602SFlorian Westphal	  of a packets security association.
6366c472602SFlorian Westphal
637554ced0aSMáté Ecklconfig NFT_SOCKET
638554ced0aSMáté Eckl	tristate "Netfilter nf_tables socket match support"
639554ced0aSMáté Eckl	depends on IPV6 || IPV6=n
640554ced0aSMáté Eckl	select NF_SOCKET_IPV4
6415d400a49SMáté Eckl	select NF_SOCKET_IPV6 if NF_TABLES_IPV6
642554ced0aSMáté Eckl	help
643554ced0aSMáté Eckl	  This option allows matching for the presence or absence of a
644554ced0aSMáté Eckl	  corresponding socket and its attributes.
645554ced0aSMáté Eckl
646b96af92dSFernando Fernandez Manceraconfig NFT_OSF
647b96af92dSFernando Fernandez Mancera	tristate "Netfilter nf_tables passive OS fingerprint support"
648b96af92dSFernando Fernandez Mancera	depends on NETFILTER_ADVANCED
649b96af92dSFernando Fernandez Mancera	select NETFILTER_NETLINK_OSF
650b96af92dSFernando Fernandez Mancera	help
651b96af92dSFernando Fernandez Mancera	  This option allows matching packets from an specific OS.
652b96af92dSFernando Fernandez Mancera
6534ed8eb65SMáté Ecklconfig NFT_TPROXY
6544ed8eb65SMáté Eckl	tristate "Netfilter nf_tables tproxy support"
6554ed8eb65SMáté Eckl	depends on IPV6 || IPV6=n
6564ed8eb65SMáté Eckl	select NF_DEFRAG_IPV4
6574ed8eb65SMáté Eckl	select NF_DEFRAG_IPV6 if NF_TABLES_IPV6
6584ed8eb65SMáté Eckl	select NF_TPROXY_IPV4
6594ed8eb65SMáté Eckl	select NF_TPROXY_IPV6 if NF_TABLES_IPV6
6604ed8eb65SMáté Eckl	help
6614ed8eb65SMáté Eckl	  This makes transparent proxy support available in nftables.
6624ed8eb65SMáté Eckl
663ad49d86eSFernando Fernandez Manceraconfig NFT_SYNPROXY
664ad49d86eSFernando Fernandez Mancera	tristate "Netfilter nf_tables SYNPROXY expression support"
665ad49d86eSFernando Fernandez Mancera	depends on NF_CONNTRACK && NETFILTER_ADVANCED
666ad49d86eSFernando Fernandez Mancera	select NETFILTER_SYNPROXY
667ad49d86eSFernando Fernandez Mancera	select SYN_COOKIES
668ad49d86eSFernando Fernandez Mancera	help
669ad49d86eSFernando Fernandez Mancera	  The SYNPROXY expression allows you to intercept TCP connections and
670ad49d86eSFernando Fernandez Mancera	  establish them using syncookies before they are passed on to the
671ad49d86eSFernando Fernandez Mancera	  server. This allows to avoid conntrack and server resource usage
672ad49d86eSFernando Fernandez Mancera	  during SYN-flood attacks.
673ad49d86eSFernando Fernandez Mancera
674502061f8SPablo Neira Ayusoif NF_TABLES_NETDEV
675502061f8SPablo Neira Ayuso
676502061f8SPablo Neira Ayusoconfig NF_DUP_NETDEV
677502061f8SPablo Neira Ayuso	tristate "Netfilter packet duplication support"
678502061f8SPablo Neira Ayuso	help
679502061f8SPablo Neira Ayuso	  This option enables the generic packet duplication infrastructure
680502061f8SPablo Neira Ayuso	  for Netfilter.
681502061f8SPablo Neira Ayuso
682502061f8SPablo Neira Ayusoconfig NFT_DUP_NETDEV
683502061f8SPablo Neira Ayuso	tristate "Netfilter nf_tables netdev packet duplication support"
684502061f8SPablo Neira Ayuso	select NF_DUP_NETDEV
685502061f8SPablo Neira Ayuso	help
686502061f8SPablo Neira Ayuso	  This option enables packet duplication for the "netdev" family.
687502061f8SPablo Neira Ayuso
68839e6dea2SPablo Neira Ayusoconfig NFT_FWD_NETDEV
68939e6dea2SPablo Neira Ayuso	tristate "Netfilter nf_tables netdev packet forwarding support"
69039e6dea2SPablo Neira Ayuso	select NF_DUP_NETDEV
69139e6dea2SPablo Neira Ayuso	help
69239e6dea2SPablo Neira Ayuso	  This option enables packet forwarding for the "netdev" family.
69339e6dea2SPablo Neira Ayuso
6946392c226SPablo M. Bermudo Garayconfig NFT_FIB_NETDEV
6956392c226SPablo M. Bermudo Garay	depends on NFT_FIB_IPV4
6966392c226SPablo M. Bermudo Garay	depends on NFT_FIB_IPV6
6976392c226SPablo M. Bermudo Garay	tristate "Netfilter nf_tables netdev fib lookups support"
6986392c226SPablo M. Bermudo Garay	help
6996392c226SPablo M. Bermudo Garay	  This option allows using the FIB expression from the netdev table.
7006392c226SPablo M. Bermudo Garay	  The lookup will be delegated to the IPv4 or IPv6 FIB depending
7016392c226SPablo M. Bermudo Garay	  on the protocol of the packet.
7026392c226SPablo M. Bermudo Garay
7036bbb9ad3SJose M. Guisado Gomezconfig NFT_REJECT_NETDEV
7046bbb9ad3SJose M. Guisado Gomez	depends on NFT_REJECT_IPV4
7056bbb9ad3SJose M. Guisado Gomez	depends on NFT_REJECT_IPV6
7066bbb9ad3SJose M. Guisado Gomez	tristate "Netfilter nf_tables netdev REJECT support"
7076bbb9ad3SJose M. Guisado Gomez	help
7086bbb9ad3SJose M. Guisado Gomez	  This option enables the REJECT support from the netdev table.
7096bbb9ad3SJose M. Guisado Gomez	  The return packet generation will be delegated to the IPv4
7106bbb9ad3SJose M. Guisado Gomez	  or IPv6 ICMP or TCP RST implementation depending on the
7116bbb9ad3SJose M. Guisado Gomez	  protocol of the packet.
7126bbb9ad3SJose M. Guisado Gomez
713502061f8SPablo Neira Ayusoendif # NF_TABLES_NETDEV
714502061f8SPablo Neira Ayuso
715f04e599eSPablo Neira Ayusoendif # NF_TABLES
716f04e599eSPablo Neira Ayuso
7177c23b629SPablo Neira Ayusoconfig NF_FLOW_TABLE_INET
7187c23b629SPablo Neira Ayuso	tristate "Netfilter flow table mixed IPv4/IPv6 module"
7191e80380bSFelix Fietkau	depends on NF_FLOW_TABLE
7207c23b629SPablo Neira Ayuso	help
7217c23b629SPablo Neira Ayuso	  This option adds the flow table mixed IPv4/IPv6 support.
7227c23b629SPablo Neira Ayuso
7237c23b629SPablo Neira Ayuso	  To compile it as a module, choose M here.
7247c23b629SPablo Neira Ayuso
725ac2a6666SPablo Neira Ayusoconfig NF_FLOW_TABLE
726ac2a6666SPablo Neira Ayuso	tristate "Netfilter flow table module"
7276be3bcd7SPablo Neira Ayuso	depends on NETFILTER_INGRESS
7286be3bcd7SPablo Neira Ayuso	depends on NF_CONNTRACK
7296be3bcd7SPablo Neira Ayuso	depends on NF_TABLES
730ac2a6666SPablo Neira Ayuso	help
731ac2a6666SPablo Neira Ayuso	  This option adds the flow table core infrastructure.
732ac2a6666SPablo Neira Ayuso
733ac2a6666SPablo Neira Ayuso	  To compile it as a module, choose M here.
734ac2a6666SPablo Neira Ayuso
735b0381776SVlad Buslovconfig NF_FLOW_TABLE_PROCFS
736b0381776SVlad Buslov	bool "Supply flow table statistics in procfs"
737b06ada6dSPablo Neira Ayuso	depends on NF_FLOW_TABLE
738b0381776SVlad Buslov	depends on PROC_FS
739b0381776SVlad Buslov	help
740b0381776SVlad Buslov	  This option enables for the flow table offload statistics
741b0381776SVlad Buslov	  to be shown in procfs under net/netfilter/nf_flowtable.
742b0381776SVlad Buslov
7432e4e6a17SHarald Welteconfig NETFILTER_XTABLES
7442e4e6a17SHarald Welte	tristate "Netfilter Xtables support (required for ip_tables)"
74533b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
7462e4e6a17SHarald Welte	help
7472e4e6a17SHarald Welte	  This is required if you intend to use any of ip_tables,
7482e4e6a17SHarald Welte	  ip6_tables or arp_tables.
7492e4e6a17SHarald Welte
750c2df73deSJan Engelhardtif NETFILTER_XTABLES
751c2df73deSJan Engelhardt
75247a6959fSFlorian Westphalconfig NETFILTER_XTABLES_COMPAT
75347a6959fSFlorian Westphal	bool "Netfilter Xtables 32bit support"
75447a6959fSFlorian Westphal	depends on COMPAT
75547a6959fSFlorian Westphal	help
75647a6959fSFlorian Westphal	   This option provides a translation layer to run 32bit arp,ip(6),ebtables
75747a6959fSFlorian Westphal	   binaries on 64bit kernels.
75847a6959fSFlorian Westphal
75947a6959fSFlorian Westphal	   If unsure, say N.
76047a6959fSFlorian Westphal
761*9fce6658SPablo Neira Ayusoconfig NETFILTER_XTABLES_LEGACY
762*9fce6658SPablo Neira Ayuso	bool "Netfilter legacy tables support"
763*9fce6658SPablo Neira Ayuso	depends on !PREEMPT_RT
764*9fce6658SPablo Neira Ayuso	help
765*9fce6658SPablo Neira Ayuso	  Say Y here if you still require support for legacy tables. This is
766*9fce6658SPablo Neira Ayuso	  required by the legacy tools (iptables-legacy) and is not needed if
767*9fce6658SPablo Neira Ayuso	  you use iptables over nftables (iptables-nft).
768*9fce6658SPablo Neira Ayuso	  Legacy support is not limited to IP, it also includes EBTABLES and
769*9fce6658SPablo Neira Ayuso	  ARPTABLES.
770*9fce6658SPablo Neira Ayuso
77128b94988SJan Engelhardtcomment "Xtables combined modules"
77228b94988SJan Engelhardt
77328b94988SJan Engelhardtconfig NETFILTER_XT_MARK
77428b94988SJan Engelhardt	tristate 'nfmark target and match support'
77528b94988SJan Engelhardt	default m if NETFILTER_ADVANCED=n
776a7f7f624SMasahiro Yamada	help
77728b94988SJan Engelhardt	This option adds the "MARK" target and "mark" match.
77828b94988SJan Engelhardt
77928b94988SJan Engelhardt	Netfilter mark matching allows you to match packets based on the
78028b94988SJan Engelhardt	"nfmark" value in the packet.
78128b94988SJan Engelhardt	The target allows you to create rules in the "mangle" table which alter
78228b94988SJan Engelhardt	the netfilter mark (nfmark) field associated with the packet.
78328b94988SJan Engelhardt
784f1504307SMoritz Sichert	Prior to routing, the nfmark can influence the routing method and can
785f1504307SMoritz Sichert	also be used by other subsystems to change their behavior.
78628b94988SJan Engelhardt
787b8f00ba2SJan Engelhardtconfig NETFILTER_XT_CONNMARK
788b8f00ba2SJan Engelhardt	tristate 'ctmark target and match support'
789b8f00ba2SJan Engelhardt	depends on NF_CONNTRACK
790b8f00ba2SJan Engelhardt	depends on NETFILTER_ADVANCED
791b8f00ba2SJan Engelhardt	select NF_CONNTRACK_MARK
792a7f7f624SMasahiro Yamada	help
793b8f00ba2SJan Engelhardt	This option adds the "CONNMARK" target and "connmark" match.
794b8f00ba2SJan Engelhardt
795b8f00ba2SJan Engelhardt	Netfilter allows you to store a mark value per connection (a.k.a.
796b8f00ba2SJan Engelhardt	ctmark), similarly to the packet mark (nfmark). Using this
797b8f00ba2SJan Engelhardt	target and match, you can set and match on this mark.
798b8f00ba2SJan Engelhardt
799d956798dSJozsef Kadlecsikconfig NETFILTER_XT_SET
800d956798dSJozsef Kadlecsik	tristate 'set target and match support'
801d956798dSJozsef Kadlecsik	depends on IP_SET
802d956798dSJozsef Kadlecsik	depends on NETFILTER_ADVANCED
803d956798dSJozsef Kadlecsik	help
804d956798dSJozsef Kadlecsik	  This option adds the "SET" target and "set" match.
805d956798dSJozsef Kadlecsik
806d956798dSJozsef Kadlecsik	  Using this target and match, you can add/delete and match
807d956798dSJozsef Kadlecsik	  elements in the sets created by ipset(8).
808d956798dSJozsef Kadlecsik
809d956798dSJozsef Kadlecsik	  To compile it as a module, choose M here.  If unsure, say N.
810d956798dSJozsef Kadlecsik
8112e4e6a17SHarald Welte# alphabetically ordered list of targets
8122e4e6a17SHarald Welte
81344c58731SJan Engelhardtcomment "Xtables targets"
81444c58731SJan Engelhardt
81543f393caSThomas Grafconfig NETFILTER_XT_TARGET_AUDIT
81643f393caSThomas Graf	tristate "AUDIT target support"
81743f393caSThomas Graf	depends on AUDIT
81843f393caSThomas Graf	depends on NETFILTER_ADVANCED
819a7f7f624SMasahiro Yamada	help
82043f393caSThomas Graf	  This option adds a 'AUDIT' target, which can be used to create
82143f393caSThomas Graf	  audit records for packets dropped/accepted.
82243f393caSThomas Graf
82343f393caSThomas Graf	  To compileit as a module, choose M here. If unsure, say N.
82443f393caSThomas Graf
825edf0e1fbSMichael S. Tsirkinconfig NETFILTER_XT_TARGET_CHECKSUM
826edf0e1fbSMichael S. Tsirkin	tristate "CHECKSUM target support"
827a9525c7fSFlorian Westphal	depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT
828edf0e1fbSMichael S. Tsirkin	depends on NETFILTER_ADVANCED
829a7f7f624SMasahiro Yamada	help
830edf0e1fbSMichael S. Tsirkin	  This option adds a `CHECKSUM' target, which can be used in the iptables mangle
83110568f6cSFlorian Westphal	  table to work around buggy DHCP clients in virtualized environments.
832edf0e1fbSMichael S. Tsirkin
83310568f6cSFlorian Westphal	  Some old DHCP clients drop packets because they are not aware
83410568f6cSFlorian Westphal	  that the checksum would normally be offloaded to hardware and
83510568f6cSFlorian Westphal	  thus should be considered valid.
83610568f6cSFlorian Westphal	  This target can be used to fill in the checksum using iptables
83710568f6cSFlorian Westphal	  when such packets are sent via a virtual network device.
838edf0e1fbSMichael S. Tsirkin
839edf0e1fbSMichael S. Tsirkin	  To compile it as a module, choose M here.  If unsure, say N.
840edf0e1fbSMichael S. Tsirkin
8412e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CLASSIFY
8422e4e6a17SHarald Welte	tristate '"CLASSIFY" target support'
84333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
8442e4e6a17SHarald Welte	help
8452e4e6a17SHarald Welte	  This option adds a `CLASSIFY' target, which enables the user to set
8462e4e6a17SHarald Welte	  the priority of a packet. Some qdiscs can use this value for
8472e4e6a17SHarald Welte	  classification, among these are:
8482e4e6a17SHarald Welte
8492e4e6a17SHarald Welte	  atm, cbq, dsmark, pfifo_fast, htb, prio
8502e4e6a17SHarald Welte
8512e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
8522e4e6a17SHarald Welte
8532e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CONNMARK
8542e4e6a17SHarald Welte	tristate  '"CONNMARK" target support'
855587aa641SPatrick McHardy	depends on NF_CONNTRACK
85633b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
857b8f00ba2SJan Engelhardt	select NETFILTER_XT_CONNMARK
858a7f7f624SMasahiro Yamada	help
859b8f00ba2SJan Engelhardt	This is a backwards-compat option for the user's convenience
860b8f00ba2SJan Engelhardt	(e.g. when running oldconfig). It selects
861b8f00ba2SJan Engelhardt	CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
8622e4e6a17SHarald Welte
863aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_CONNSECMARK
864aba0d348SJan Engelhardt	tristate '"CONNSECMARK" target support'
865c2df73deSJan Engelhardt	depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK
866aba0d348SJan Engelhardt	default m if NETFILTER_ADVANCED=n
867aba0d348SJan Engelhardt	help
868aba0d348SJan Engelhardt	  The CONNSECMARK target copies security markings from packets
869aba0d348SJan Engelhardt	  to connections, and restores security markings from connections
870aba0d348SJan Engelhardt	  to packets (if the packets are not already marked).  This would
871aba0d348SJan Engelhardt	  normally be used in conjunction with the SECMARK target.
872aba0d348SJan Engelhardt
873aba0d348SJan Engelhardt	  To compile it as a module, choose M here.  If unsure, say N.
874aba0d348SJan Engelhardt
87584f3bb9aSPatrick McHardyconfig NETFILTER_XT_TARGET_CT
87684f3bb9aSPatrick McHardy	tristate '"CT" target support'
87784f3bb9aSPatrick McHardy	depends on NF_CONNTRACK
878a9525c7fSFlorian Westphal	depends on IP_NF_RAW || IP6_NF_RAW || NFT_COMPAT
87984f3bb9aSPatrick McHardy	depends on NETFILTER_ADVANCED
88084f3bb9aSPatrick McHardy	help
88184f3bb9aSPatrick McHardy	  This options adds a `CT' target, which allows to specify initial
88284f3bb9aSPatrick McHardy	  connection tracking parameters like events to be delivered and
88384f3bb9aSPatrick McHardy	  the helper to be used.
88484f3bb9aSPatrick McHardy
88584f3bb9aSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
88684f3bb9aSPatrick McHardy
887a468701dSYasuyuki Kozakaiconfig NETFILTER_XT_TARGET_DSCP
888c9fd4968SJan Engelhardt	tristate '"DSCP" and "TOS" target support'
889a9525c7fSFlorian Westphal	depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT
89033b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
891a468701dSYasuyuki Kozakai	help
892a468701dSYasuyuki Kozakai	  This option adds a `DSCP' target, which allows you to manipulate
893a468701dSYasuyuki Kozakai	  the IPv4/IPv6 header DSCP field (differentiated services codepoint).
894a468701dSYasuyuki Kozakai
895a468701dSYasuyuki Kozakai	  The DSCP field can have any value between 0x0 and 0x3f inclusive.
896a468701dSYasuyuki Kozakai
897c9fd4968SJan Engelhardt	  It also adds the "TOS" target, which allows you to create rules in
898c9fd4968SJan Engelhardt	  the "mangle" table which alter the Type Of Service field of an IPv4
8995c350e5aSJan Engelhardt	  or the Priority field of an IPv6 packet, prior to routing.
900c9fd4968SJan Engelhardt
901a468701dSYasuyuki Kozakai	  To compile it as a module, choose M here.  If unsure, say N.
902a468701dSYasuyuki Kozakai
903563d36ebSJan Engelhardtconfig NETFILTER_XT_TARGET_HL
904563d36ebSJan Engelhardt	tristate '"HL" hoplimit target support'
905a9525c7fSFlorian Westphal	depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT
906563d36ebSJan Engelhardt	depends on NETFILTER_ADVANCED
907a7f7f624SMasahiro Yamada	help
908563d36ebSJan Engelhardt	This option adds the "HL" (for IPv6) and "TTL" (for IPv4)
909563d36ebSJan Engelhardt	targets, which enable the user to change the
910563d36ebSJan Engelhardt	hoplimit/time-to-live value of the IP header.
911563d36ebSJan Engelhardt
912563d36ebSJan Engelhardt	While it is safe to decrement the hoplimit/TTL value, the
913563d36ebSJan Engelhardt	modules also allow to increment and set the hoplimit value of
914563d36ebSJan Engelhardt	the header to arbitrary values. This is EXTREMELY DANGEROUS
915563d36ebSJan Engelhardt	since you can easily create immortal packets that loop
916563d36ebSJan Engelhardt	forever on the network.
917563d36ebSJan Engelhardt
918cf308a1fSHans Schillstromconfig NETFILTER_XT_TARGET_HMARK
919cf308a1fSHans Schillstrom	tristate '"HMARK" target support'
920f09becc7SPablo Neira Ayuso	depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
921cf308a1fSHans Schillstrom	depends on NETFILTER_ADVANCED
922a7f7f624SMasahiro Yamada	help
923cf308a1fSHans Schillstrom	This option adds the "HMARK" target.
924cf308a1fSHans Schillstrom
925cf308a1fSHans Schillstrom	The target allows you to create rules in the "raw" and "mangle" tables
926cf308a1fSHans Schillstrom	which set the skbuff mark by means of hash calculation within a given
927f1504307SMoritz Sichert	range. The nfmark can influence the routing method and can also be used
928f1504307SMoritz Sichert	by other subsystems to change their behaviour.
929cf308a1fSHans Schillstrom
930cf308a1fSHans Schillstrom	To compile it as a module, choose M here. If unsure, say N.
931cf308a1fSHans Schillstrom
9320902b469SLuciano Coelhoconfig NETFILTER_XT_TARGET_IDLETIMER
9330902b469SLuciano Coelho	tristate  "IDLETIMER target support"
9340902b469SLuciano Coelho	depends on NETFILTER_ADVANCED
9350902b469SLuciano Coelho	help
9360902b469SLuciano Coelho
9370902b469SLuciano Coelho	  This option adds the `IDLETIMER' target.  Each matching packet
9380902b469SLuciano Coelho	  resets the timer associated with label specified when the rule is
9390902b469SLuciano Coelho	  added.  When the timer expires, it triggers a sysfs notification.
9400902b469SLuciano Coelho	  The remaining time for expiration can be read via sysfs.
9410902b469SLuciano Coelho
9420902b469SLuciano Coelho	  To compile it as a module, choose M here.  If unsure, say N.
9430902b469SLuciano Coelho
944268cb38eSAdam Nielsenconfig NETFILTER_XT_TARGET_LED
945268cb38eSAdam Nielsen	tristate '"LED" target support'
9463ae16f13SAlex Riesen	depends on LEDS_CLASS && LEDS_TRIGGERS
947268cb38eSAdam Nielsen	depends on NETFILTER_ADVANCED
948268cb38eSAdam Nielsen	help
949268cb38eSAdam Nielsen	  This option adds a `LED' target, which allows you to blink LEDs in
950268cb38eSAdam Nielsen	  response to particular packets passing through your machine.
951268cb38eSAdam Nielsen
952268cb38eSAdam Nielsen	  This can be used to turn a spare LED into a network activity LED,
953268cb38eSAdam Nielsen	  which only flashes in response to FTP transfers, for example.  Or
954268cb38eSAdam Nielsen	  you could have an LED which lights up for a minute or two every time
955268cb38eSAdam Nielsen	  somebody connects to your machine via SSH.
956268cb38eSAdam Nielsen
957268cb38eSAdam Nielsen	  You will need support for the "led" class to make this work.
958268cb38eSAdam Nielsen
959268cb38eSAdam Nielsen	  To create an LED trigger for incoming SSH traffic:
960268cb38eSAdam Nielsen	    iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
961268cb38eSAdam Nielsen
962268cb38eSAdam Nielsen	  Then attach the new trigger to an LED on your system:
963268cb38eSAdam Nielsen	    echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
964268cb38eSAdam Nielsen
965268cb38eSAdam Nielsen	  For more information on the LEDs available on your system, see
9668dab9197SMauro Carvalho Chehab	  Documentation/leds/leds-class.rst
967268cb38eSAdam Nielsen
9686939c33aSRichard Weinbergerconfig NETFILTER_XT_TARGET_LOG
9696939c33aSRichard Weinberger	tristate "LOG target support"
970db3187aeSFlorian Westphal	select NF_LOG_SYSLOG
9715d400a49SMáté Eckl	select NF_LOG_IPV6 if IP6_NF_IPTABLES
9726939c33aSRichard Weinberger	default m if NETFILTER_ADVANCED=n
9736939c33aSRichard Weinberger	help
9746939c33aSRichard Weinberger	  This option adds a `LOG' target, which allows you to create rules in
9756939c33aSRichard Weinberger	  any iptables table which records the packet header to the syslog.
9766939c33aSRichard Weinberger
9776939c33aSRichard Weinberger	  To compile it as a module, choose M here.  If unsure, say N.
9786939c33aSRichard Weinberger
9792e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_MARK
9802e4e6a17SHarald Welte	tristate '"MARK" target support'
98128b94988SJan Engelhardt	depends on NETFILTER_ADVANCED
98228b94988SJan Engelhardt	select NETFILTER_XT_MARK
983a7f7f624SMasahiro Yamada	help
98428b94988SJan Engelhardt	This is a backwards-compat option for the user's convenience
98528b94988SJan Engelhardt	(e.g. when running oldconfig). It selects
98628b94988SJan Engelhardt	CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
9872e4e6a17SHarald Welte
98884a59ca5SPablo Neira Ayusoconfig NETFILTER_XT_NAT
98984a59ca5SPablo Neira Ayuso	tristate '"SNAT and DNAT" targets support'
99084a59ca5SPablo Neira Ayuso	depends on NF_NAT
991a7f7f624SMasahiro Yamada	help
99284a59ca5SPablo Neira Ayuso	This option enables the SNAT and DNAT targets.
99384a59ca5SPablo Neira Ayuso
99484a59ca5SPablo Neira Ayuso	To compile it as a module, choose M here. If unsure, say N.
99584a59ca5SPablo Neira Ayuso
996b3d54b3eSJan Engelhardtconfig NETFILTER_XT_TARGET_NETMAP
997b3d54b3eSJan Engelhardt	tristate '"NETMAP" target support'
998b3d54b3eSJan Engelhardt	depends on NF_NAT
999a7f7f624SMasahiro Yamada	help
1000b3d54b3eSJan Engelhardt	NETMAP is an implementation of static 1:1 NAT mapping of network
1001b3d54b3eSJan Engelhardt	addresses. It maps the network address part, while keeping the host
1002b3d54b3eSJan Engelhardt	address part intact.
1003b3d54b3eSJan Engelhardt
1004b3d54b3eSJan Engelhardt	To compile it as a module, choose M here. If unsure, say N.
1005b3d54b3eSJan Engelhardt
1006baf7b1e1SPatrick McHardyconfig NETFILTER_XT_TARGET_NFLOG
1007baf7b1e1SPatrick McHardy	tristate '"NFLOG" target support'
100833b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
1009293a4f28SEric Leblond	select NETFILTER_NETLINK_LOG
1010baf7b1e1SPatrick McHardy	help
1011baf7b1e1SPatrick McHardy	  This option enables the NFLOG target, which allows to LOG
1012293a4f28SEric Leblond	  messages through nfnetlink_log.
1013baf7b1e1SPatrick McHardy
1014baf7b1e1SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
1015baf7b1e1SPatrick McHardy
1016aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_NFQUEUE
1017aba0d348SJan Engelhardt	tristate '"NFQUEUE" target Support'
1018aba0d348SJan Engelhardt	depends on NETFILTER_ADVANCED
10195f2cafe7SFlorian Westphal	select NETFILTER_NETLINK_QUEUE
1020aba0d348SJan Engelhardt	help
1021aba0d348SJan Engelhardt	  This target replaced the old obsolete QUEUE target.
1022aba0d348SJan Engelhardt
1023aba0d348SJan Engelhardt	  As opposed to QUEUE, it supports 65535 different queues,
1024aba0d348SJan Engelhardt	  not just one.
1025aba0d348SJan Engelhardt
1026aba0d348SJan Engelhardt	  To compile it as a module, choose M here.  If unsure, say N.
1027aba0d348SJan Engelhardt
102810db9069SPablo Neira Ayusoconfig NETFILTER_XT_TARGET_NOTRACK
102910db9069SPablo Neira Ayuso	tristate  '"NOTRACK" target support (DEPRECATED)'
1030757ae316SPablo Neira Ayuso	depends on NF_CONNTRACK
1031757ae316SPablo Neira Ayuso	depends on IP_NF_RAW || IP6_NF_RAW
1032757ae316SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
103310db9069SPablo Neira Ayuso	select NETFILTER_XT_TARGET_CT
103410db9069SPablo Neira Ayuso
10355859034dSPatrick McHardyconfig NETFILTER_XT_TARGET_RATEEST
10365859034dSPatrick McHardy	tristate '"RATEEST" target support'
1037b26e76b7SPatrick McHardy	depends on NETFILTER_ADVANCED
10385859034dSPatrick McHardy	help
10395859034dSPatrick McHardy	  This option adds a `RATEEST' target, which allows to measure
10405859034dSPatrick McHardy	  rates similar to TC estimators. The `rateest' match can be
10415859034dSPatrick McHardy	  used to match on the measured rates.
10425859034dSPatrick McHardy
10435859034dSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
10445859034dSPatrick McHardy
10452cbc78a2SJan Engelhardtconfig NETFILTER_XT_TARGET_REDIRECT
10462cbc78a2SJan Engelhardt	tristate "REDIRECT target support"
10472cbc78a2SJan Engelhardt	depends on NF_NAT
1048b59eaf9eSPablo Neira Ayuso	select NF_NAT_REDIRECT
1049a7f7f624SMasahiro Yamada	help
10502cbc78a2SJan Engelhardt	REDIRECT is a special case of NAT: all incoming connections are
10512cbc78a2SJan Engelhardt	mapped onto the incoming interface's address, causing the packets to
10522cbc78a2SJan Engelhardt	come to the local machine instead of passing through. This is
10532cbc78a2SJan Engelhardt	useful for transparent proxies.
10542cbc78a2SJan Engelhardt
10552cbc78a2SJan Engelhardt	To compile it as a module, choose M here. If unsure, say N.
10562cbc78a2SJan Engelhardt
1057adf82accSFlorian Westphalconfig NETFILTER_XT_TARGET_MASQUERADE
1058adf82accSFlorian Westphal	tristate "MASQUERADE target support"
1059adf82accSFlorian Westphal	depends on NF_NAT
1060adf82accSFlorian Westphal	default m if NETFILTER_ADVANCED=n
1061adf82accSFlorian Westphal	select NF_NAT_MASQUERADE
1062adf82accSFlorian Westphal	help
1063adf82accSFlorian Westphal	  Masquerading is a special case of NAT: all outgoing connections are
1064adf82accSFlorian Westphal	  changed to seem to come from a particular interface's address, and
1065adf82accSFlorian Westphal	  if the interface goes down, those connections are lost.  This is
1066adf82accSFlorian Westphal	  only useful for dialup accounts with dynamic IP address (ie. your IP
1067adf82accSFlorian Westphal	  address will be different on next dialup).
1068adf82accSFlorian Westphal
1069adf82accSFlorian Westphal	  To compile it as a module, choose M here.  If unsure, say N.
1070adf82accSFlorian Westphal
1071e281b198SJan Engelhardtconfig NETFILTER_XT_TARGET_TEE
1072fe6fb552SArnd Hannemann	tristate '"TEE" - packet cloning to alternate destination'
1073e281b198SJan Engelhardt	depends on NETFILTER_ADVANCED
1074f09becc7SPablo Neira Ayuso	depends on IPV6 || IPV6=n
107583827f6aSRandy Dunlap	depends on !NF_CONNTRACK || NF_CONNTRACK
1076d1fa3810SArnd Bergmann	depends on IP6_NF_IPTABLES || !IP6_NF_IPTABLES
1077bbde9fc1SPablo Neira Ayuso	select NF_DUP_IPV4
10785d400a49SMáté Eckl	select NF_DUP_IPV6 if IP6_NF_IPTABLES
1079a7f7f624SMasahiro Yamada	help
1080e281b198SJan Engelhardt	This option adds a "TEE" target with which a packet can be cloned and
1081e281b198SJan Engelhardt	this clone be rerouted to another nexthop.
1082e281b198SJan Engelhardt
1083e8439270SKOVACS Krisztianconfig NETFILTER_XT_TARGET_TPROXY
1084fd158d79SFlorian Westphal	tristate '"TPROXY" target transparent proxying support'
1085e8439270SKOVACS Krisztian	depends on NETFILTER_XTABLES
1086e8439270SKOVACS Krisztian	depends on NETFILTER_ADVANCED
1087f09becc7SPablo Neira Ayuso	depends on IPV6 || IPV6=n
1088f09becc7SPablo Neira Ayuso	depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
1089a9525c7fSFlorian Westphal	depends on IP_NF_MANGLE || NFT_COMPAT
1090e8439270SKOVACS Krisztian	select NF_DEFRAG_IPV4
109174ec4d55SArnd Bergmann	select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
109245ca4e0cSMáté Eckl	select NF_TPROXY_IPV4
109345ca4e0cSMáté Eckl	select NF_TPROXY_IPV6 if IP6_NF_IPTABLES
1094e8439270SKOVACS Krisztian	help
1095e8439270SKOVACS Krisztian	  This option adds a `TPROXY' target, which is somewhat similar to
1096e8439270SKOVACS Krisztian	  REDIRECT.  It can only be used in the mangle table and is useful
1097e8439270SKOVACS Krisztian	  to redirect traffic to a transparent proxy.  It does _not_ depend
1098e8439270SKOVACS Krisztian	  on Netfilter connection tracking and NAT, unlike REDIRECT.
1099fd158d79SFlorian Westphal	  For it to work you will have to configure certain iptables rules
1100fd158d79SFlorian Westphal	  and use policy routing. For more information on how to set it up
11014ac0b122SMauro Carvalho Chehab	  see Documentation/networking/tproxy.rst.
1102e8439270SKOVACS Krisztian
1103e8439270SKOVACS Krisztian	  To compile it as a module, choose M here.  If unsure, say N.
1104e8439270SKOVACS Krisztian
1105ba9dda3aSJozsef Kadlecsikconfig NETFILTER_XT_TARGET_TRACE
1106ba9dda3aSJozsef Kadlecsik	tristate  '"TRACE" target support'
1107ba9dda3aSJozsef Kadlecsik	depends on IP_NF_RAW || IP6_NF_RAW
110833b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1109ba9dda3aSJozsef Kadlecsik	help
1110ba9dda3aSJozsef Kadlecsik	  The TRACE target allows you to mark packets so that the kernel
1111ba9dda3aSJozsef Kadlecsik	  will log every rule which match the packets as those traverse
1112ba9dda3aSJozsef Kadlecsik	  the tables, chains, rules.
1113ba9dda3aSJozsef Kadlecsik
1114ba9dda3aSJozsef Kadlecsik	  If you want to compile it as a module, say M here and read
1115cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
1116ba9dda3aSJozsef Kadlecsik
11175e6874cdSJames Morrisconfig NETFILTER_XT_TARGET_SECMARK
11185e6874cdSJames Morris	tristate '"SECMARK" target support'
1119c2df73deSJan Engelhardt	depends on NETWORK_SECMARK
112033b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
11215e6874cdSJames Morris	help
11225e6874cdSJames Morris	  The SECMARK target allows security marking of network
11235e6874cdSJames Morris	  packets, for use with security subsystems.
11245e6874cdSJames Morris
11255e6874cdSJames Morris	  To compile it as a module, choose M here.  If unsure, say N.
11265e6874cdSJames Morris
1127cdd289a2SPatrick McHardyconfig NETFILTER_XT_TARGET_TCPMSS
1128cdd289a2SPatrick McHardy	tristate '"TCPMSS" target support'
1129f09becc7SPablo Neira Ayuso	depends on IPV6 || IPV6=n
113033b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
1131a7f7f624SMasahiro Yamada	help
1132cdd289a2SPatrick McHardy	  This option adds a `TCPMSS' target, which allows you to alter the
1133cdd289a2SPatrick McHardy	  MSS value of TCP SYN packets, to control the maximum size for that
1134cdd289a2SPatrick McHardy	  connection (usually limiting it to your outgoing interface's MTU
1135cdd289a2SPatrick McHardy	  minus 40).
1136cdd289a2SPatrick McHardy
1137cdd289a2SPatrick McHardy	  This is used to overcome criminally braindead ISPs or servers which
1138cdd289a2SPatrick McHardy	  block ICMP Fragmentation Needed packets.  The symptoms of this
1139cdd289a2SPatrick McHardy	  problem are that everything works fine from your Linux
1140cdd289a2SPatrick McHardy	  firewall/router, but machines behind it can never exchange large
1141cdd289a2SPatrick McHardy	  packets:
1142cdd289a2SPatrick McHardy	        1) Web browsers connect, then hang with no data received.
1143cdd289a2SPatrick McHardy	        2) Small mail works fine, but large emails hang.
1144cdd289a2SPatrick McHardy	        3) ssh works fine, but scp hangs after initial handshaking.
1145cdd289a2SPatrick McHardy
1146cdd289a2SPatrick McHardy	  Workaround: activate this option and add a rule to your firewall
1147cdd289a2SPatrick McHardy	  configuration like:
1148cdd289a2SPatrick McHardy
1149cdd289a2SPatrick McHardy	  iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
1150cdd289a2SPatrick McHardy	                 -j TCPMSS --clamp-mss-to-pmtu
1151cdd289a2SPatrick McHardy
1152cdd289a2SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
1153cdd289a2SPatrick McHardy
1154338e8a79SSven Schnelleconfig NETFILTER_XT_TARGET_TCPOPTSTRIP
1155663ef0d1SKees Cook	tristate '"TCPOPTSTRIP" target support'
1156a9525c7fSFlorian Westphal	depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT
115733b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1158338e8a79SSven Schnelle	help
1159338e8a79SSven Schnelle	  This option adds a "TCPOPTSTRIP" target, which allows you to strip
1160338e8a79SSven Schnelle	  TCP options from TCP packets.
1161338e8a79SSven Schnelle
116244c58731SJan Engelhardt# alphabetically ordered list of matches
116344c58731SJan Engelhardt
116444c58731SJan Engelhardtcomment "Xtables matches"
116544c58731SJan Engelhardt
1166de81bbeaSFlorian Westphalconfig NETFILTER_XT_MATCH_ADDRTYPE
1167de81bbeaSFlorian Westphal	tristate '"addrtype" address type match support'
11685cca4aceSAnton Blanchard	default m if NETFILTER_ADVANCED=n
1169a7f7f624SMasahiro Yamada	help
1170de81bbeaSFlorian Westphal	  This option allows you to match what routing thinks of an address,
1171de81bbeaSFlorian Westphal	  eg. UNICAST, LOCAL, BROADCAST, ...
1172de81bbeaSFlorian Westphal
1173de81bbeaSFlorian Westphal	  If you want to compile it as a module, say M here and read
1174cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
1175de81bbeaSFlorian Westphal
1176e6f30c73SWillem de Bruijnconfig NETFILTER_XT_MATCH_BPF
1177e6f30c73SWillem de Bruijn	tristate '"bpf" match support'
1178e6f30c73SWillem de Bruijn	depends on NETFILTER_ADVANCED
1179e6f30c73SWillem de Bruijn	help
1180e6f30c73SWillem de Bruijn	  BPF matching applies a linux socket filter to each packet and
1181e6f30c73SWillem de Bruijn	  accepts those for which the filter returns non-zero.
1182e6f30c73SWillem de Bruijn
1183e6f30c73SWillem de Bruijn	  To compile it as a module, choose M here.  If unsure, say N.
1184e6f30c73SWillem de Bruijn
118582a37132SDaniel Borkmannconfig NETFILTER_XT_MATCH_CGROUP
118682a37132SDaniel Borkmann	tristate '"control group" match support'
118782a37132SDaniel Borkmann	depends on NETFILTER_ADVANCED
118882a37132SDaniel Borkmann	depends on CGROUPS
11893ba0032aSMichal Koutný	select SOCK_CGROUP_DATA
1190a7f7f624SMasahiro Yamada	help
119182a37132SDaniel Borkmann	Socket/process control group matching allows you to match locally
119282a37132SDaniel Borkmann	generated packets based on which net_cls control group processes
119382a37132SDaniel Borkmann	belong to.
119482a37132SDaniel Borkmann
11950269ea49SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_CLUSTER
11960269ea49SPablo Neira Ayuso	tristate '"cluster" match support'
11970269ea49SPablo Neira Ayuso	depends on NF_CONNTRACK
11980269ea49SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
1199a7f7f624SMasahiro Yamada	help
12000269ea49SPablo Neira Ayuso	  This option allows you to build work-load-sharing clusters of
12010269ea49SPablo Neira Ayuso	  network servers/stateful firewalls without having a dedicated
12020269ea49SPablo Neira Ayuso	  load-balancing router/server/switch. Basically, this match returns
12030269ea49SPablo Neira Ayuso	  true when the packet must be handled by this cluster node. Thus,
12040269ea49SPablo Neira Ayuso	  all nodes see all packets and this match decides which node handles
12050269ea49SPablo Neira Ayuso	  what packets. The work-load sharing algorithm is based on source
12060269ea49SPablo Neira Ayuso	  address hashing.
12070269ea49SPablo Neira Ayuso
12080269ea49SPablo Neira Ayuso	  If you say Y or M here, try `iptables -m cluster --help` for
12090269ea49SPablo Neira Ayuso	  more information.
12100269ea49SPablo Neira Ayuso
12112e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_COMMENT
12122e4e6a17SHarald Welte	tristate  '"comment" match support'
121333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
12142e4e6a17SHarald Welte	help
12152e4e6a17SHarald Welte	  This option adds a `comment' dummy-match, which allows you to put
12162e4e6a17SHarald Welte	  comments in your iptables ruleset.
12172e4e6a17SHarald Welte
12182e4e6a17SHarald Welte	  If you want to compile it as a module, say M here and read
1219cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
12202e4e6a17SHarald Welte
12212e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNBYTES
12222e4e6a17SHarald Welte	tristate  '"connbytes" per-connection counter match support'
1223587aa641SPatrick McHardy	depends on NF_CONNTRACK
122433b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
12252e4e6a17SHarald Welte	help
12262e4e6a17SHarald Welte	  This option adds a `connbytes' match, which allows you to match the
12272e4e6a17SHarald Welte	  number of bytes and/or packets for each direction within a connection.
12282e4e6a17SHarald Welte
12292e4e6a17SHarald Welte	  If you want to compile it as a module, say M here and read
1230cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
12312e4e6a17SHarald Welte
1232c539f017SFlorian Westphalconfig NETFILTER_XT_MATCH_CONNLABEL
1233c539f017SFlorian Westphal	tristate '"connlabel" match support'
1234c539f017SFlorian Westphal	select NF_CONNTRACK_LABELS
123535612a22SFlorian Westphal	depends on NF_CONNTRACK
1236c539f017SFlorian Westphal	depends on NETFILTER_ADVANCED
1237a7f7f624SMasahiro Yamada	help
1238c539f017SFlorian Westphal	  This match allows you to test and assign userspace-defined labels names
1239c539f017SFlorian Westphal	  to a connection.  The kernel only stores bit values - mapping
1240c539f017SFlorian Westphal	  names to bits is done by userspace.
1241c539f017SFlorian Westphal
1242c539f017SFlorian Westphal	  Unlike connmark, more than 32 flag bits may be assigned to a
1243c539f017SFlorian Westphal	  connection simultaneously.
1244c539f017SFlorian Westphal
1245370786f9SJan Engelhardtconfig NETFILTER_XT_MATCH_CONNLIMIT
124648192248SRandy Dunlap	tristate '"connlimit" match support'
12473fd8f9e4SCornelia Huck	depends on NF_CONNTRACK
124833b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1249625c5561SFlorian Westphal	select NETFILTER_CONNCOUNT
1250a7f7f624SMasahiro Yamada	help
1251370786f9SJan Engelhardt	  This match allows you to match against the number of parallel
1252370786f9SJan Engelhardt	  connections to a server per client IP address (or address block).
1253370786f9SJan Engelhardt
12542e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNMARK
12552e4e6a17SHarald Welte	tristate  '"connmark" connection mark match support'
1256587aa641SPatrick McHardy	depends on NF_CONNTRACK
125733b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1258b8f00ba2SJan Engelhardt	select NETFILTER_XT_CONNMARK
1259a7f7f624SMasahiro Yamada	help
1260b8f00ba2SJan Engelhardt	This is a backwards-compat option for the user's convenience
1261b8f00ba2SJan Engelhardt	(e.g. when running oldconfig). It selects
1262b8f00ba2SJan Engelhardt	CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
12632e4e6a17SHarald Welte
12642e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNTRACK
12652e4e6a17SHarald Welte	tristate '"conntrack" connection tracking match support'
1266587aa641SPatrick McHardy	depends on NF_CONNTRACK
126733b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
12682e4e6a17SHarald Welte	help
12692e4e6a17SHarald Welte	  This is a general conntrack match module, a superset of the state match.
12702e4e6a17SHarald Welte
12712e4e6a17SHarald Welte	  It allows matching on additional conntrack information, which is
12722e4e6a17SHarald Welte	  useful in complex configurations, such as NAT gateways with multiple
12732e4e6a17SHarald Welte	  internet links or tunnels.
12742e4e6a17SHarald Welte
12752e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
12762e4e6a17SHarald Welte
1277e8648a1fSEric Dumazetconfig NETFILTER_XT_MATCH_CPU
1278e8648a1fSEric Dumazet	tristate '"cpu" match support'
1279e8648a1fSEric Dumazet	depends on NETFILTER_ADVANCED
1280e8648a1fSEric Dumazet	help
1281e8648a1fSEric Dumazet	  CPU matching allows you to match packets based on the CPU
1282e8648a1fSEric Dumazet	  currently handling the packet.
1283e8648a1fSEric Dumazet
1284e8648a1fSEric Dumazet	  To compile it as a module, choose M here.  If unsure, say N.
1285e8648a1fSEric Dumazet
12862e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_DCCP
1287fd72f265SPablo Neira Ayuso	tristate '"dccp" protocol match support (DEPRECATED)'
128833b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1289fd72f265SPablo Neira Ayuso	default n
12902e4e6a17SHarald Welte	help
12912e4e6a17SHarald Welte	  With this option enabled, you will be able to use the iptables
12922e4e6a17SHarald Welte	  `dccp' match in order to match on DCCP source/destination ports
12932e4e6a17SHarald Welte	  and DCCP flags.
12942e4e6a17SHarald Welte
12952e4e6a17SHarald Welte	  If you want to compile it as a module, say M here and read
1296cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
12972e4e6a17SHarald Welte
12989291747fSPatrick McHardyconfig NETFILTER_XT_MATCH_DEVGROUP
12999291747fSPatrick McHardy	tristate '"devgroup" match support'
13009291747fSPatrick McHardy	depends on NETFILTER_ADVANCED
13019291747fSPatrick McHardy	help
13029291747fSPatrick McHardy	  This options adds a `devgroup' match, which allows to match on the
13039291747fSPatrick McHardy	  device group a network device is assigned to.
13049291747fSPatrick McHardy
13059291747fSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
13069291747fSPatrick McHardy
13079ba16276SYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_DSCP
1308c3b33e6aSJan Engelhardt	tristate '"dscp" and "tos" match support'
130933b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
13109ba16276SYasuyuki Kozakai	help
13119ba16276SYasuyuki Kozakai	  This option adds a `DSCP' match, which allows you to match against
13129ba16276SYasuyuki Kozakai	  the IPv4/IPv6 header DSCP field (differentiated services codepoint).
13139ba16276SYasuyuki Kozakai
13149ba16276SYasuyuki Kozakai	  The DSCP field can have any value between 0x0 and 0x3f inclusive.
13159ba16276SYasuyuki Kozakai
1316c3b33e6aSJan Engelhardt	  It will also add a "tos" match, which allows you to match packets
1317c3b33e6aSJan Engelhardt	  based on the Type Of Service fields of the IPv4 packet (which share
1318c3b33e6aSJan Engelhardt	  the same bits as DSCP).
1319c3b33e6aSJan Engelhardt
13209ba16276SYasuyuki Kozakai	  To compile it as a module, choose M here.  If unsure, say N.
13219ba16276SYasuyuki Kozakai
1322d446a820SJan Engelhardtconfig NETFILTER_XT_MATCH_ECN
1323d446a820SJan Engelhardt	tristate '"ecn" match support'
1324d446a820SJan Engelhardt	depends on NETFILTER_ADVANCED
1325a7f7f624SMasahiro Yamada	help
1326d446a820SJan Engelhardt	This option adds an "ECN" match, which allows you to match against
1327d446a820SJan Engelhardt	the IPv4 and TCP header ECN fields.
1328d446a820SJan Engelhardt
1329d446a820SJan Engelhardt	To compile it as a module, choose M here. If unsure, say N.
1330d446a820SJan Engelhardt
1331dc5ab2faSYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_ESP
13324c37799cSJan Engelhardt	tristate '"esp" match support'
133333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1334dc5ab2faSYasuyuki Kozakai	help
1335dc5ab2faSYasuyuki Kozakai	  This match extension allows you to match a range of SPIs
1336dc5ab2faSYasuyuki Kozakai	  inside ESP header of IPSec packets.
1337dc5ab2faSYasuyuki Kozakai
1338dc5ab2faSYasuyuki Kozakai	  To compile it as a module, choose M here.  If unsure, say N.
1339dc5ab2faSYasuyuki Kozakai
1340aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_HASHLIMIT
1341aba0d348SJan Engelhardt	tristate '"hashlimit" match support'
1342f09becc7SPablo Neira Ayuso	depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
1343aba0d348SJan Engelhardt	depends on NETFILTER_ADVANCED
1344aba0d348SJan Engelhardt	help
1345aba0d348SJan Engelhardt	  This option adds a `hashlimit' match.
1346aba0d348SJan Engelhardt
1347aba0d348SJan Engelhardt	  As opposed to `limit', this match dynamically creates a hash table
1348aba0d348SJan Engelhardt	  of limit buckets, based on your selection of source/destination
1349aba0d348SJan Engelhardt	  addresses and/or ports.
1350aba0d348SJan Engelhardt
1351aba0d348SJan Engelhardt	  It enables you to express policies like `10kpps for any given
1352aba0d348SJan Engelhardt	  destination address' or `500pps from any given source address'
1353aba0d348SJan Engelhardt	  with a single rule.
1354aba0d348SJan Engelhardt
13552e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_HELPER
13562e4e6a17SHarald Welte	tristate '"helper" match support'
1357587aa641SPatrick McHardy	depends on NF_CONNTRACK
135833b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
13592e4e6a17SHarald Welte	help
13602e4e6a17SHarald Welte	  Helper matching allows you to match packets in dynamic connections
136105ba4c89SYonatan Goldschmidt	  tracked by a conntrack-helper, ie. nf_conntrack_ftp
13622e4e6a17SHarald Welte
13632e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say Y.
13642e4e6a17SHarald Welte
1365cfac5ef7SJan Engelhardtconfig NETFILTER_XT_MATCH_HL
1366cfac5ef7SJan Engelhardt	tristate '"hl" hoplimit/TTL match support'
1367cfac5ef7SJan Engelhardt	depends on NETFILTER_ADVANCED
1368a7f7f624SMasahiro Yamada	help
1369cfac5ef7SJan Engelhardt	HL matching allows you to match packets based on the hoplimit
1370cfac5ef7SJan Engelhardt	in the IPv6 header, or the time-to-live field in the IPv4
1371cfac5ef7SJan Engelhardt	header of the packet.
1372cfac5ef7SJan Engelhardt
13736a649f33Sfan.duconfig NETFILTER_XT_MATCH_IPCOMP
13746a649f33Sfan.du	tristate '"ipcomp" match support'
13756a649f33Sfan.du	depends on NETFILTER_ADVANCED
13766a649f33Sfan.du	help
13776a649f33Sfan.du	  This match extension allows you to match a range of CPIs(16 bits)
13786a649f33Sfan.du	  inside IPComp header of IPSec packets.
13796a649f33Sfan.du
13806a649f33Sfan.du	  To compile it as a module, choose M here.  If unsure, say N.
13816a649f33Sfan.du
1382f72e25a8SJan Engelhardtconfig NETFILTER_XT_MATCH_IPRANGE
1383f72e25a8SJan Engelhardt	tristate '"iprange" address range match support'
1384f72e25a8SJan Engelhardt	depends on NETFILTER_ADVANCED
1385a7f7f624SMasahiro Yamada	help
1386f72e25a8SJan Engelhardt	This option adds a "iprange" match, which allows you to match based on
1387f72e25a8SJan Engelhardt	an IP address range. (Normal iptables only matches on single addresses
1388f72e25a8SJan Engelhardt	with an optional mask.)
1389f72e25a8SJan Engelhardt
1390f72e25a8SJan Engelhardt	If unsure, say M.
1391f72e25a8SJan Engelhardt
13929c3e1c39SHannes Ederconfig NETFILTER_XT_MATCH_IPVS
13939c3e1c39SHannes Eder	tristate '"ipvs" match support'
13949c3e1c39SHannes Eder	depends on IP_VS
13959c3e1c39SHannes Eder	depends on NETFILTER_ADVANCED
13969c3e1c39SHannes Eder	depends on NF_CONNTRACK
13979c3e1c39SHannes Eder	help
13989c3e1c39SHannes Eder	  This option allows you to match against IPVS properties of a packet.
13999c3e1c39SHannes Eder
14009c3e1c39SHannes Eder	  If unsure, say N.
14019c3e1c39SHannes Eder
140274f77a6bSJames Chapmanconfig NETFILTER_XT_MATCH_L2TP
140374f77a6bSJames Chapman	tristate '"l2tp" match support'
140474f77a6bSJames Chapman	depends on NETFILTER_ADVANCED
140574f77a6bSJames Chapman	default L2TP
1406a7f7f624SMasahiro Yamada	help
140774f77a6bSJames Chapman	This option adds an "L2TP" match, which allows you to match against
140874f77a6bSJames Chapman	L2TP protocol header fields.
140974f77a6bSJames Chapman
141074f77a6bSJames Chapman	To compile it as a module, choose M here. If unsure, say N.
141174f77a6bSJames Chapman
14122e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LENGTH
14132e4e6a17SHarald Welte	tristate '"length" match support'
141433b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
14152e4e6a17SHarald Welte	help
14162e4e6a17SHarald Welte	  This option allows you to match the length of a packet against a
14172e4e6a17SHarald Welte	  specific value or range of values.
14182e4e6a17SHarald Welte
14192e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
14202e4e6a17SHarald Welte
14212e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LIMIT
14222e4e6a17SHarald Welte	tristate '"limit" match support'
142333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
14242e4e6a17SHarald Welte	help
14252e4e6a17SHarald Welte	  limit matching allows you to control the rate at which a rule can be
14262e4e6a17SHarald Welte	  matched: mainly useful in combination with the LOG target ("LOG
14272e4e6a17SHarald Welte	  target support", below) and to avoid some Denial of Service attacks.
14282e4e6a17SHarald Welte
14292e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
14302e4e6a17SHarald Welte
14312e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MAC
14322e4e6a17SHarald Welte	tristate '"mac" address match support'
143333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
14342e4e6a17SHarald Welte	help
14352e4e6a17SHarald Welte	  MAC matching allows you to match packets based on the source
14362e4e6a17SHarald Welte	  Ethernet address of the packet.
14372e4e6a17SHarald Welte
14382e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
14392e4e6a17SHarald Welte
14402e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MARK
14412e4e6a17SHarald Welte	tristate '"mark" match support'
144228b94988SJan Engelhardt	depends on NETFILTER_ADVANCED
144328b94988SJan Engelhardt	select NETFILTER_XT_MARK
1444a7f7f624SMasahiro Yamada	help
144528b94988SJan Engelhardt	This is a backwards-compat option for the user's convenience
144628b94988SJan Engelhardt	(e.g. when running oldconfig). It selects
144728b94988SJan Engelhardt	CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
14482e4e6a17SHarald Welte
1449aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_MULTIPORT
1450aba0d348SJan Engelhardt	tristate '"multiport" Multiple port match support'
1451aba0d348SJan Engelhardt	depends on NETFILTER_ADVANCED
1452aba0d348SJan Engelhardt	help
1453aba0d348SJan Engelhardt	  Multiport matching allows you to match TCP or UDP packets based on
1454aba0d348SJan Engelhardt	  a series of source or destination ports: normally a rule can only
1455aba0d348SJan Engelhardt	  match a single range of ports.
1456aba0d348SJan Engelhardt
1457aba0d348SJan Engelhardt	  To compile it as a module, choose M here.  If unsure, say N.
1458aba0d348SJan Engelhardt
1459ceb98d03SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_NFACCT
1460ceb98d03SPablo Neira Ayuso	tristate '"nfacct" match support'
1461bc94b521SPablo Neira Ayuso	depends on NETFILTER_ADVANCED
1462ceb98d03SPablo Neira Ayuso	select NETFILTER_NETLINK_ACCT
1463ceb98d03SPablo Neira Ayuso	help
1464ceb98d03SPablo Neira Ayuso	  This option allows you to use the extended accounting through
1465ceb98d03SPablo Neira Ayuso	  nfnetlink_acct.
1466ceb98d03SPablo Neira Ayuso
1467ceb98d03SPablo Neira Ayuso	  To compile it as a module, choose M here.  If unsure, say N.
1468ceb98d03SPablo Neira Ayuso
1469115bc8f2SJan Engelhardtconfig NETFILTER_XT_MATCH_OSF
1470115bc8f2SJan Engelhardt	tristate '"osf" Passive OS fingerprint match'
1471f6b7b5f4SFernando Fernandez Mancera	depends on NETFILTER_ADVANCED
1472f6b7b5f4SFernando Fernandez Mancera	select NETFILTER_NETLINK_OSF
1473115bc8f2SJan Engelhardt	help
1474115bc8f2SJan Engelhardt	  This option selects the Passive OS Fingerprinting match module
1475115bc8f2SJan Engelhardt	  that allows to passively match the remote operating system by
1476115bc8f2SJan Engelhardt	  analyzing incoming TCP SYN packets.
1477115bc8f2SJan Engelhardt
1478115bc8f2SJan Engelhardt	  Rules and loading software can be downloaded from
1479115bc8f2SJan Engelhardt	  http://www.ioremap.net/projects/osf
1480115bc8f2SJan Engelhardt
1481115bc8f2SJan Engelhardt	  To compile it as a module, choose M here.  If unsure, say N.
1482115bc8f2SJan Engelhardt
14830265ab44SJan Engelhardtconfig NETFILTER_XT_MATCH_OWNER
14840265ab44SJan Engelhardt	tristate '"owner" match support'
148533b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1486a7f7f624SMasahiro Yamada	help
14870265ab44SJan Engelhardt	Socket owner matching allows you to match locally-generated packets
14880265ab44SJan Engelhardt	based on who created the socket: the user or group. It is also
14890265ab44SJan Engelhardt	possible to check whether a socket actually exists.
14900265ab44SJan Engelhardt
1491c4b88513SPatrick McHardyconfig NETFILTER_XT_MATCH_POLICY
1492c4b88513SPatrick McHardy	tristate 'IPsec "policy" match support'
1493c2df73deSJan Engelhardt	depends on XFRM
149433b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
1495c4b88513SPatrick McHardy	help
1496c4b88513SPatrick McHardy	  Policy matching allows you to match packets based on the
1497c4b88513SPatrick McHardy	  IPsec policy that was used during decapsulation/will
1498c4b88513SPatrick McHardy	  be used during encapsulation.
1499c4b88513SPatrick McHardy
1500c4b88513SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
1501c4b88513SPatrick McHardy
15022e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PHYSDEV
15032e4e6a17SHarald Welte	tristate '"physdev" match support'
1504c2df73deSJan Engelhardt	depends on BRIDGE && BRIDGE_NETFILTER
150533b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
15062e4e6a17SHarald Welte	help
15072e4e6a17SHarald Welte	  Physdev packet matching matches against the physical bridge ports
15082e4e6a17SHarald Welte	  the IP packet arrived on or will leave by.
15092e4e6a17SHarald Welte
15102e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
15112e4e6a17SHarald Welte
15122e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PKTTYPE
15132e4e6a17SHarald Welte	tristate '"pkttype" packet type match support'
151433b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
15152e4e6a17SHarald Welte	help
15162e4e6a17SHarald Welte	  Packet type matching allows you to match a packet by
15172e4e6a17SHarald Welte	  its "class", eg. BROADCAST, MULTICAST, ...
15182e4e6a17SHarald Welte
15192e4e6a17SHarald Welte	  Typical usage:
15202e4e6a17SHarald Welte	  iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
15212e4e6a17SHarald Welte
15222e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
15232e4e6a17SHarald Welte
152462b77434SPatrick McHardyconfig NETFILTER_XT_MATCH_QUOTA
152562b77434SPatrick McHardy	tristate '"quota" match support'
152633b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
152762b77434SPatrick McHardy	help
152862b77434SPatrick McHardy	  This option adds a `quota' match, which allows to match on a
152962b77434SPatrick McHardy	  byte counter.
153062b77434SPatrick McHardy
153162b77434SPatrick McHardy	  If you want to compile it as a module, say M here and read
1532cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
153362b77434SPatrick McHardy
153450c164a8SPatrick McHardyconfig NETFILTER_XT_MATCH_RATEEST
153550c164a8SPatrick McHardy	tristate '"rateest" match support'
1536b26e76b7SPatrick McHardy	depends on NETFILTER_ADVANCED
153750c164a8SPatrick McHardy	select NETFILTER_XT_TARGET_RATEEST
153850c164a8SPatrick McHardy	help
153950c164a8SPatrick McHardy	  This option adds a `rateest' match, which allows to match on the
154050c164a8SPatrick McHardy	  rate estimated by the RATEEST target.
154150c164a8SPatrick McHardy
154250c164a8SPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
154350c164a8SPatrick McHardy
15442e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_REALM
15452e4e6a17SHarald Welte	tristate  '"realm" match support'
154633b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1547c7066f70SPatrick McHardy	select IP_ROUTE_CLASSID
15482e4e6a17SHarald Welte	help
15492e4e6a17SHarald Welte	  This option adds a `realm' match, which allows you to use the realm
15502e4e6a17SHarald Welte	  key from the routing subsystem inside iptables.
15512e4e6a17SHarald Welte
15522e4e6a17SHarald Welte	  This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
15532e4e6a17SHarald Welte	  in tc world.
15542e4e6a17SHarald Welte
15552e4e6a17SHarald Welte	  If you want to compile it as a module, say M here and read
1556cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
15572e4e6a17SHarald Welte
1558e948b20aSJan Engelhardtconfig NETFILTER_XT_MATCH_RECENT
1559e948b20aSJan Engelhardt	tristate '"recent" match support'
1560e948b20aSJan Engelhardt	depends on NETFILTER_ADVANCED
1561a7f7f624SMasahiro Yamada	help
1562e948b20aSJan Engelhardt	This match is used for creating one or many lists of recently
1563e948b20aSJan Engelhardt	used addresses and then matching against that/those list(s).
1564e948b20aSJan Engelhardt
1565e948b20aSJan Engelhardt	Short options are available by using 'iptables -m recent -h'
1566e948b20aSJan Engelhardt	Official Website: <http://snowman.net/projects/ipt_recent/>
1567e948b20aSJan Engelhardt
15682e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_SCTP
1569663ef0d1SKees Cook	tristate  '"sctp" protocol match support'
157033b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1571f3261affSPatrick McHardy	default IP_SCTP
15722e4e6a17SHarald Welte	help
15732e4e6a17SHarald Welte	  With this option enabled, you will be able to use the
15742e4e6a17SHarald Welte	  `sctp' match in order to match on SCTP source/destination ports
15752e4e6a17SHarald Welte	  and SCTP chunk types.
15762e4e6a17SHarald Welte
15772e4e6a17SHarald Welte	  If you want to compile it as a module, say M here and read
1578cd238effSMauro Carvalho Chehab	  <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
15792e4e6a17SHarald Welte
1580136cdc71SKOVACS Krisztianconfig NETFILTER_XT_MATCH_SOCKET
1581663ef0d1SKees Cook	tristate '"socket" match support'
1582136cdc71SKOVACS Krisztian	depends on NETFILTER_XTABLES
1583136cdc71SKOVACS Krisztian	depends on NETFILTER_ADVANCED
1584f09becc7SPablo Neira Ayuso	depends on IPV6 || IPV6=n
1585f09becc7SPablo Neira Ayuso	depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
15867414d929SMáté Eckl	select NF_SOCKET_IPV4
15877414d929SMáté Eckl	select NF_SOCKET_IPV6 if IP6_NF_IPTABLES
1588136cdc71SKOVACS Krisztian	select NF_DEFRAG_IPV4
158974ec4d55SArnd Bergmann	select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
1590136cdc71SKOVACS Krisztian	help
1591136cdc71SKOVACS Krisztian	  This option adds a `socket' match, which can be used to match
1592136cdc71SKOVACS Krisztian	  packets for which a TCP or UDP socket lookup finds a valid socket.
1593136cdc71SKOVACS Krisztian	  It can be used in combination with the MARK target and policy
1594136cdc71SKOVACS Krisztian	  routing to implement full featured non-locally bound sockets.
1595136cdc71SKOVACS Krisztian
1596136cdc71SKOVACS Krisztian	  To compile it as a module, choose M here.  If unsure, say N.
1597136cdc71SKOVACS Krisztian
15982e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STATE
15992e4e6a17SHarald Welte	tristate '"state" match support'
1600587aa641SPatrick McHardy	depends on NF_CONNTRACK
160133b8e776SPatrick McHardy	default m if NETFILTER_ADVANCED=n
16022e4e6a17SHarald Welte	help
16032e4e6a17SHarald Welte	  Connection state matching allows you to match packets based on their
16042e4e6a17SHarald Welte	  relationship to a tracked connection (ie. previous packets).  This
16052e4e6a17SHarald Welte	  is a powerful tool for packet classification.
16062e4e6a17SHarald Welte
16072e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
16082e4e6a17SHarald Welte
1609f3389805SPatrick McHardyconfig NETFILTER_XT_MATCH_STATISTIC
1610f3389805SPatrick McHardy	tristate '"statistic" match support'
161133b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1612f3389805SPatrick McHardy	help
161368c1692eSPatrick McHardy	  This option adds a `statistic' match, which allows you to match
161468c1692eSPatrick McHardy	  on packets periodically or randomly with a given percentage.
161568c1692eSPatrick McHardy
161668c1692eSPatrick McHardy	  To compile it as a module, choose M here.  If unsure, say N.
1617f3389805SPatrick McHardy
16182e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STRING
16192e4e6a17SHarald Welte	tristate  '"string" match support'
162033b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
16212e4e6a17SHarald Welte	select TEXTSEARCH
16222e4e6a17SHarald Welte	select TEXTSEARCH_KMP
16232e4e6a17SHarald Welte	select TEXTSEARCH_BM
16242e4e6a17SHarald Welte	select TEXTSEARCH_FSM
16252e4e6a17SHarald Welte	help
16262e4e6a17SHarald Welte	  This option adds a `string' match, which allows you to look for
16272e4e6a17SHarald Welte	  pattern matchings in packets.
16282e4e6a17SHarald Welte
16292e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
16302e4e6a17SHarald Welte
16312e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_TCPMSS
16322e4e6a17SHarald Welte	tristate '"tcpmss" match support'
163333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
16342e4e6a17SHarald Welte	help
16352e4e6a17SHarald Welte	  This option adds a `tcpmss' match, which allows you to examine the
16362e4e6a17SHarald Welte	  MSS value of TCP SYN packets, which control the maximum packet size
16372e4e6a17SHarald Welte	  for that connection.
16382e4e6a17SHarald Welte
16392e4e6a17SHarald Welte	  To compile it as a module, choose M here.  If unsure, say N.
16402e4e6a17SHarald Welte
1641ee4411a1SJan Engelhardtconfig NETFILTER_XT_MATCH_TIME
1642ee4411a1SJan Engelhardt	tristate '"time" match support'
164333b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1644a7f7f624SMasahiro Yamada	help
1645ee4411a1SJan Engelhardt	  This option adds a "time" match, which allows you to match based on
1646ee4411a1SJan Engelhardt	  the packet arrival time (at the machine which netfilter is running)
1647ee4411a1SJan Engelhardt	  on) or departure time/date (for locally generated packets).
1648ee4411a1SJan Engelhardt
1649ee4411a1SJan Engelhardt	  If you say Y here, try `iptables -m time --help` for
1650ee4411a1SJan Engelhardt	  more information.
1651ee4411a1SJan Engelhardt
1652ee4411a1SJan Engelhardt	  If you want to compile it as a module, say M here.
1653ee4411a1SJan Engelhardt	  If unsure, say N.
1654ee4411a1SJan Engelhardt
16551b50b8a3SJan Engelhardtconfig NETFILTER_XT_MATCH_U32
16561b50b8a3SJan Engelhardt	tristate '"u32" match support'
165733b8e776SPatrick McHardy	depends on NETFILTER_ADVANCED
1658a7f7f624SMasahiro Yamada	help
16591b50b8a3SJan Engelhardt	  u32 allows you to extract quantities of up to 4 bytes from a packet,
16601b50b8a3SJan Engelhardt	  AND them with specified masks, shift them by specified amounts and
16611b50b8a3SJan Engelhardt	  test whether the results are in any of a set of specified ranges.
16621b50b8a3SJan Engelhardt	  The specification of what to extract is general enough to skip over
16631b50b8a3SJan Engelhardt	  headers with lengths stored in the packet, as in IP or TCP header
16641b50b8a3SJan Engelhardt	  lengths.
16651b50b8a3SJan Engelhardt
16661b50b8a3SJan Engelhardt	  Details and examples are in the kernel module source.
16671b50b8a3SJan Engelhardt
1668c2df73deSJan Engelhardtendif # NETFILTER_XTABLES
1669a6c1cd57SHarald Welte
1670c2df73deSJan Engelhardtendmenu
1671f9e815b3SHarald Welte
1672a7b4f989SJozsef Kadlecsiksource "net/netfilter/ipset/Kconfig"
1673a7b4f989SJozsef Kadlecsik
1674cb7f6a7bSJulius Volzsource "net/netfilter/ipvs/Kconfig"
1675