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