Merge tag 'lazytime_for_v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / net / bridge / netfilter / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Bridge netfilter configuration
4 #
5 #
6 menuconfig NF_TABLES_BRIDGE
7         depends on BRIDGE && NETFILTER && NF_TABLES
8         select NETFILTER_FAMILY_BRIDGE
9         tristate "Ethernet Bridge nf_tables support"
10
11 if NF_TABLES_BRIDGE
12
13 config NFT_BRIDGE_META
14         tristate "Netfilter nf_table bridge meta support"
15         help
16           Add support for bridge dedicated meta key.
17
18 config NFT_BRIDGE_REJECT
19         tristate "Netfilter nf_tables bridge reject support"
20         depends on NFT_REJECT
21         depends on NF_REJECT_IPV4
22         depends on NF_REJECT_IPV6
23         help
24           Add support to reject packets.
25
26 config NF_LOG_BRIDGE
27         tristate "Bridge packet logging"
28         select NF_LOG_COMMON
29
30 endif # NF_TABLES_BRIDGE
31
32 config NF_CONNTRACK_BRIDGE
33         tristate "IPv4/IPV6 bridge connection tracking support"
34         depends on NF_CONNTRACK
35         default n
36         help
37           Connection tracking keeps a record of what packets have passed
38           through your machine, in order to figure out how they are related
39           into connections. This is used to enhance packet filtering via
40           stateful policies. Enable this if you want native tracking from
41           the bridge. This provides a replacement for the `br_netfilter'
42           infrastructure.
43
44           To compile it as a module, choose M here.  If unsure, say N.
45
46 menuconfig BRIDGE_NF_EBTABLES
47         tristate "Ethernet Bridge tables (ebtables) support"
48         depends on BRIDGE && NETFILTER && NETFILTER_XTABLES
49         select NETFILTER_FAMILY_BRIDGE
50         help
51           ebtables is a general, extensible frame/packet identification
52           framework. Say 'Y' or 'M' here if you want to do Ethernet
53           filtering/NAT/brouting on the Ethernet bridge.
54
55 if BRIDGE_NF_EBTABLES
56
57 #
58 # tables
59 #
60 config BRIDGE_EBT_BROUTE
61         tristate "ebt: broute table support"
62         help
63           The ebtables broute table is used to define rules that decide between
64           bridging and routing frames, giving Linux the functionality of a
65           brouter. See the man page for ebtables(8) and examples on the ebtables
66           website.
67
68           To compile it as a module, choose M here.  If unsure, say N.
69
70 config BRIDGE_EBT_T_FILTER
71         tristate "ebt: filter table support"
72         help
73           The ebtables filter table is used to define frame filtering rules at
74           local input, forwarding and local output. See the man page for
75           ebtables(8).
76
77           To compile it as a module, choose M here.  If unsure, say N.
78
79 config BRIDGE_EBT_T_NAT
80         tristate "ebt: nat table support"
81         help
82           The ebtables nat table is used to define rules that alter the MAC
83           source address (MAC SNAT) or the MAC destination address (MAC DNAT).
84           See the man page for ebtables(8).
85
86           To compile it as a module, choose M here.  If unsure, say N.
87 #
88 # matches
89 #
90 config BRIDGE_EBT_802_3
91         tristate "ebt: 802.3 filter support"
92         help
93           This option adds matching support for 802.3 Ethernet frames.
94
95           To compile it as a module, choose M here.  If unsure, say N.
96
97 config BRIDGE_EBT_AMONG
98         tristate "ebt: among filter support"
99         help
100           This option adds the among match, which allows matching the MAC source
101           and/or destination address on a list of addresses. Optionally,
102           MAC/IP address pairs can be matched, f.e. for anti-spoofing rules.
103
104           To compile it as a module, choose M here.  If unsure, say N.
105
106 config BRIDGE_EBT_ARP
107         tristate "ebt: ARP filter support"
108         help
109           This option adds the ARP match, which allows ARP and RARP header field
110           filtering.
111
112           To compile it as a module, choose M here.  If unsure, say N.
113
114 config BRIDGE_EBT_IP
115         tristate "ebt: IP filter support"
116         help
117           This option adds the IP match, which allows basic IP header field
118           filtering.
119
120           To compile it as a module, choose M here.  If unsure, say N.
121
122 config BRIDGE_EBT_IP6
123         tristate "ebt: IP6 filter support"
124         depends on BRIDGE_NF_EBTABLES && IPV6
125         help
126           This option adds the IP6 match, which allows basic IPV6 header field
127           filtering.
128
129           To compile it as a module, choose M here.  If unsure, say N.
130
131 config BRIDGE_EBT_LIMIT
132         tristate "ebt: limit match support"
133         help
134           This option adds the limit match, which allows you to control
135           the rate at which a rule can be matched. This match is the
136           equivalent of the iptables limit match.
137
138           If you want to compile it as a module, say M here and read
139           <file:Documentation/kbuild/modules.rst>.  If unsure, say `N'.
140
141 config BRIDGE_EBT_MARK
142         tristate "ebt: mark filter support"
143         help
144           This option adds the mark match, which allows matching frames based on
145           the 'nfmark' value in the frame. This can be set by the mark target.
146           This value is the same as the one used in the iptables mark match and
147           target.
148
149           To compile it as a module, choose M here.  If unsure, say N.
150
151 config BRIDGE_EBT_PKTTYPE
152         tristate "ebt: packet type filter support"
153         help
154           This option adds the packet type match, which allows matching on the
155           type of packet based on its Ethernet "class" (as determined by
156           the generic networking code): broadcast, multicast,
157           for this host alone or for another host.
158
159           To compile it as a module, choose M here.  If unsure, say N.
160
161 config BRIDGE_EBT_STP
162         tristate "ebt: STP filter support"
163         help
164           This option adds the Spanning Tree Protocol match, which
165           allows STP header field filtering.
166
167           To compile it as a module, choose M here.  If unsure, say N.
168
169 config BRIDGE_EBT_VLAN
170         tristate "ebt: 802.1Q VLAN filter support"
171         help
172           This option adds the 802.1Q vlan match, which allows the filtering of
173           802.1Q vlan fields.
174
175           To compile it as a module, choose M here.  If unsure, say N.
176 #
177 # targets
178 #
179 config BRIDGE_EBT_ARPREPLY
180         tristate "ebt: arp reply target support"
181         depends on BRIDGE_NF_EBTABLES && INET
182         help
183           This option adds the arp reply target, which allows
184           automatically sending arp replies to arp requests.
185
186           To compile it as a module, choose M here.  If unsure, say N.
187
188 config BRIDGE_EBT_DNAT
189         tristate "ebt: dnat target support"
190         help
191           This option adds the MAC DNAT target, which allows altering the MAC
192           destination address of frames.
193
194           To compile it as a module, choose M here.  If unsure, say N.
195
196 config BRIDGE_EBT_MARK_T
197         tristate "ebt: mark target support"
198         help
199           This option adds the mark target, which allows marking frames by
200           setting the 'nfmark' value in the frame.
201           This value is the same as the one used in the iptables mark match and
202           target.
203
204           To compile it as a module, choose M here.  If unsure, say N.
205
206 config BRIDGE_EBT_REDIRECT
207         tristate "ebt: redirect target support"
208         help
209           This option adds the MAC redirect target, which allows altering the MAC
210           destination address of a frame to that of the device it arrived on.
211
212           To compile it as a module, choose M here.  If unsure, say N.
213
214 config BRIDGE_EBT_SNAT
215         tristate "ebt: snat target support"
216         help
217           This option adds the MAC SNAT target, which allows altering the MAC
218           source address of frames.
219
220           To compile it as a module, choose M here.  If unsure, say N.
221 #
222 # watchers
223 #
224 config BRIDGE_EBT_LOG
225         tristate "ebt: log support"
226         help
227           This option adds the log watcher, that you can use in any rule
228           in any ebtables table. It records info about the frame header
229           to the syslog.
230
231           To compile it as a module, choose M here.  If unsure, say N.
232
233 config BRIDGE_EBT_NFLOG
234         tristate "ebt: nflog support"
235         help
236           This option enables the nflog watcher, which allows to LOG
237           messages through the netfilter logging API, which can use
238           either the old LOG target, the old ULOG target or nfnetlink_log
239           as backend.
240
241           This option adds the nflog watcher, that you can use in any rule
242           in any ebtables table.
243
244           To compile it as a module, choose M here.  If unsure, say N.
245
246 endif # BRIDGE_NF_EBTABLES