1 # SPDX-License-Identifier: GPL-2.0-only
3 # Bridge netfilter configuration
6 menuconfig NF_TABLES_BRIDGE
7 depends on BRIDGE && NETFILTER && NF_TABLES
8 select NETFILTER_FAMILY_BRIDGE
9 tristate "Ethernet Bridge nf_tables support"
13 config NFT_BRIDGE_META
14 tristate "Netfilter nf_table bridge meta support"
16 Add support for bridge dedicated meta key.
18 config NFT_BRIDGE_REJECT
19 tristate "Netfilter nf_tables bridge reject support"
21 depends on NF_REJECT_IPV4
22 depends on NF_REJECT_IPV6
24 Add support to reject packets.
26 endif # NF_TABLES_BRIDGE
28 config NF_CONNTRACK_BRIDGE
29 tristate "IPv4/IPV6 bridge connection tracking support"
30 depends on NF_CONNTRACK
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'
40 To compile it as a module, choose M here. If unsure, say N.
42 # old sockopt interface and eval loop
43 config BRIDGE_NF_EBTABLES_LEGACY
44 tristate "Legacy EBTABLES support"
45 depends on BRIDGE && NETFILTER_XTABLES
48 Legacy ebtables packet/frame classifier.
49 This is not needed if you are using ebtables over nftables
52 menuconfig BRIDGE_NF_EBTABLES
53 tristate "Ethernet Bridge tables (ebtables) support"
54 depends on BRIDGE && NETFILTER && NETFILTER_XTABLES
55 select NETFILTER_FAMILY_BRIDGE
57 ebtables is a general, extensible frame/packet identification
58 framework. Say 'Y' or 'M' here if you want to do Ethernet
59 filtering/NAT/brouting on the Ethernet bridge.
66 config BRIDGE_EBT_BROUTE
67 tristate "ebt: broute table support"
68 select BRIDGE_NF_EBTABLES_LEGACY
70 The ebtables broute table is used to define rules that decide between
71 bridging and routing frames, giving Linux the functionality of a
72 brouter. See the man page for ebtables(8) and examples on the ebtables
75 To compile it as a module, choose M here. If unsure, say N.
77 config BRIDGE_EBT_T_FILTER
78 tristate "ebt: filter table support"
79 select BRIDGE_NF_EBTABLES_LEGACY
81 The ebtables filter table is used to define frame filtering rules at
82 local input, forwarding and local output. See the man page for
85 To compile it as a module, choose M here. If unsure, say N.
87 config BRIDGE_EBT_T_NAT
88 tristate "ebt: nat table support"
89 select BRIDGE_NF_EBTABLES_LEGACY
91 The ebtables nat table is used to define rules that alter the MAC
92 source address (MAC SNAT) or the MAC destination address (MAC DNAT).
93 See the man page for ebtables(8).
95 To compile it as a module, choose M here. If unsure, say N.
99 config BRIDGE_EBT_802_3
100 tristate "ebt: 802.3 filter support"
102 This option adds matching support for 802.3 Ethernet frames.
104 To compile it as a module, choose M here. If unsure, say N.
106 config BRIDGE_EBT_AMONG
107 tristate "ebt: among filter support"
109 This option adds the among match, which allows matching the MAC source
110 and/or destination address on a list of addresses. Optionally,
111 MAC/IP address pairs can be matched, f.e. for anti-spoofing rules.
113 To compile it as a module, choose M here. If unsure, say N.
115 config BRIDGE_EBT_ARP
116 tristate "ebt: ARP filter support"
118 This option adds the ARP match, which allows ARP and RARP header field
121 To compile it as a module, choose M here. If unsure, say N.
124 tristate "ebt: IP filter support"
126 This option adds the IP match, which allows basic IP header field
129 To compile it as a module, choose M here. If unsure, say N.
131 config BRIDGE_EBT_IP6
132 tristate "ebt: IP6 filter support"
133 depends on BRIDGE_NF_EBTABLES && IPV6
135 This option adds the IP6 match, which allows basic IPV6 header field
138 To compile it as a module, choose M here. If unsure, say N.
140 config BRIDGE_EBT_LIMIT
141 tristate "ebt: limit match support"
143 This option adds the limit match, which allows you to control
144 the rate at which a rule can be matched. This match is the
145 equivalent of the iptables limit match.
147 If you want to compile it as a module, say M here and read
148 <file:Documentation/kbuild/modules.rst>. If unsure, say `N'.
150 config BRIDGE_EBT_MARK
151 tristate "ebt: mark filter support"
153 This option adds the mark match, which allows matching frames based on
154 the 'nfmark' value in the frame. This can be set by the mark target.
155 This value is the same as the one used in the iptables mark match and
158 To compile it as a module, choose M here. If unsure, say N.
160 config BRIDGE_EBT_PKTTYPE
161 tristate "ebt: packet type filter support"
163 This option adds the packet type match, which allows matching on the
164 type of packet based on its Ethernet "class" (as determined by
165 the generic networking code): broadcast, multicast,
166 for this host alone or for another host.
168 To compile it as a module, choose M here. If unsure, say N.
170 config BRIDGE_EBT_STP
171 tristate "ebt: STP filter support"
173 This option adds the Spanning Tree Protocol match, which
174 allows STP header field filtering.
176 To compile it as a module, choose M here. If unsure, say N.
178 config BRIDGE_EBT_VLAN
179 tristate "ebt: 802.1Q VLAN filter support"
181 This option adds the 802.1Q vlan match, which allows the filtering of
184 To compile it as a module, choose M here. If unsure, say N.
188 config BRIDGE_EBT_ARPREPLY
189 tristate "ebt: arp reply target support"
190 depends on BRIDGE_NF_EBTABLES && INET
192 This option adds the arp reply target, which allows
193 automatically sending arp replies to arp requests.
195 To compile it as a module, choose M here. If unsure, say N.
197 config BRIDGE_EBT_DNAT
198 tristate "ebt: dnat target support"
200 This option adds the MAC DNAT target, which allows altering the MAC
201 destination address of frames.
203 To compile it as a module, choose M here. If unsure, say N.
205 config BRIDGE_EBT_MARK_T
206 tristate "ebt: mark target support"
208 This option adds the mark target, which allows marking frames by
209 setting the 'nfmark' value in the frame.
210 This value is the same as the one used in the iptables mark match and
213 To compile it as a module, choose M here. If unsure, say N.
215 config BRIDGE_EBT_REDIRECT
216 tristate "ebt: redirect target support"
218 This option adds the MAC redirect target, which allows altering the MAC
219 destination address of a frame to that of the device it arrived on.
221 To compile it as a module, choose M here. If unsure, say N.
223 config BRIDGE_EBT_SNAT
224 tristate "ebt: snat target support"
226 This option adds the MAC SNAT target, which allows altering the MAC
227 source address of frames.
229 To compile it as a module, choose M here. If unsure, say N.
233 config BRIDGE_EBT_LOG
234 tristate "ebt: log support"
236 This option adds the log watcher, that you can use in any rule
237 in any ebtables table. It records info about the frame header
240 To compile it as a module, choose M here. If unsure, say N.
242 config BRIDGE_EBT_NFLOG
243 tristate "ebt: nflog support"
245 This option enables the nflog watcher, which allows to LOG
246 messages through the netfilter logging API, which can use
247 either the old LOG target, the old ULOG target or nfnetlink_log
250 This option adds the nflog watcher, that you can use in any rule
251 in any ebtables table.
253 To compile it as a module, choose M here. If unsure, say N.
255 endif # BRIDGE_NF_EBTABLES