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"
20 depends on NFT_REJECT && NFT_REJECT_IPV4 && NFT_REJECT_IPV6
22 Add support to reject packets.
25 tristate "Bridge packet logging"
28 endif # NF_TABLES_BRIDGE
30 config NF_CONNTRACK_BRIDGE
31 tristate "IPv4/IPV6 bridge connection tracking support"
32 depends on NF_CONNTRACK
35 Connection tracking keeps a record of what packets have passed
36 through your machine, in order to figure out how they are related
37 into connections. This is used to enhance packet filtering via
38 stateful policies. Enable this if you want native tracking from
39 the bridge. This provides a replacement for the `br_netfilter'
42 To compile it as a module, choose M here. If unsure, say N.
44 menuconfig BRIDGE_NF_EBTABLES
45 tristate "Ethernet Bridge tables (ebtables) support"
46 depends on BRIDGE && NETFILTER && NETFILTER_XTABLES
47 select NETFILTER_FAMILY_BRIDGE
49 ebtables is a general, extensible frame/packet identification
50 framework. Say 'Y' or 'M' here if you want to do Ethernet
51 filtering/NAT/brouting on the Ethernet bridge.
58 config BRIDGE_EBT_BROUTE
59 tristate "ebt: broute table support"
61 The ebtables broute table is used to define rules that decide between
62 bridging and routing frames, giving Linux the functionality of a
63 brouter. See the man page for ebtables(8) and examples on the ebtables
66 To compile it as a module, choose M here. If unsure, say N.
68 config BRIDGE_EBT_T_FILTER
69 tristate "ebt: filter table support"
71 The ebtables filter table is used to define frame filtering rules at
72 local input, forwarding and local output. See the man page for
75 To compile it as a module, choose M here. If unsure, say N.
77 config BRIDGE_EBT_T_NAT
78 tristate "ebt: nat table support"
80 The ebtables nat table is used to define rules that alter the MAC
81 source address (MAC SNAT) or the MAC destination address (MAC DNAT).
82 See the man page for ebtables(8).
84 To compile it as a module, choose M here. If unsure, say N.
88 config BRIDGE_EBT_802_3
89 tristate "ebt: 802.3 filter support"
91 This option adds matching support for 802.3 Ethernet frames.
93 To compile it as a module, choose M here. If unsure, say N.
95 config BRIDGE_EBT_AMONG
96 tristate "ebt: among filter support"
98 This option adds the among match, which allows matching the MAC source
99 and/or destination address on a list of addresses. Optionally,
100 MAC/IP address pairs can be matched, f.e. for anti-spoofing rules.
102 To compile it as a module, choose M here. If unsure, say N.
104 config BRIDGE_EBT_ARP
105 tristate "ebt: ARP filter support"
107 This option adds the ARP match, which allows ARP and RARP header field
110 To compile it as a module, choose M here. If unsure, say N.
113 tristate "ebt: IP filter support"
115 This option adds the IP match, which allows basic IP header field
118 To compile it as a module, choose M here. If unsure, say N.
120 config BRIDGE_EBT_IP6
121 tristate "ebt: IP6 filter support"
122 depends on BRIDGE_NF_EBTABLES && IPV6
124 This option adds the IP6 match, which allows basic IPV6 header field
127 To compile it as a module, choose M here. If unsure, say N.
129 config BRIDGE_EBT_LIMIT
130 tristate "ebt: limit match support"
132 This option adds the limit match, which allows you to control
133 the rate at which a rule can be matched. This match is the
134 equivalent of the iptables limit match.
136 If you want to compile it as a module, say M here and read
137 <file:Documentation/kbuild/modules.rst>. If unsure, say `N'.
139 config BRIDGE_EBT_MARK
140 tristate "ebt: mark filter support"
142 This option adds the mark match, which allows matching frames based on
143 the 'nfmark' value in the frame. This can be set by the mark target.
144 This value is the same as the one used in the iptables mark match and
147 To compile it as a module, choose M here. If unsure, say N.
149 config BRIDGE_EBT_PKTTYPE
150 tristate "ebt: packet type filter support"
152 This option adds the packet type match, which allows matching on the
153 type of packet based on its Ethernet "class" (as determined by
154 the generic networking code): broadcast, multicast,
155 for this host alone or for another host.
157 To compile it as a module, choose M here. If unsure, say N.
159 config BRIDGE_EBT_STP
160 tristate "ebt: STP filter support"
162 This option adds the Spanning Tree Protocol match, which
163 allows STP header field filtering.
165 To compile it as a module, choose M here. If unsure, say N.
167 config BRIDGE_EBT_VLAN
168 tristate "ebt: 802.1Q VLAN filter support"
170 This option adds the 802.1Q vlan match, which allows the filtering of
173 To compile it as a module, choose M here. If unsure, say N.
177 config BRIDGE_EBT_ARPREPLY
178 tristate "ebt: arp reply target support"
179 depends on BRIDGE_NF_EBTABLES && INET
181 This option adds the arp reply target, which allows
182 automatically sending arp replies to arp requests.
184 To compile it as a module, choose M here. If unsure, say N.
186 config BRIDGE_EBT_DNAT
187 tristate "ebt: dnat target support"
189 This option adds the MAC DNAT target, which allows altering the MAC
190 destination address of frames.
192 To compile it as a module, choose M here. If unsure, say N.
194 config BRIDGE_EBT_MARK_T
195 tristate "ebt: mark target support"
197 This option adds the mark target, which allows marking frames by
198 setting the 'nfmark' value in the frame.
199 This value is the same as the one used in the iptables mark match and
202 To compile it as a module, choose M here. If unsure, say N.
204 config BRIDGE_EBT_REDIRECT
205 tristate "ebt: redirect target support"
207 This option adds the MAC redirect target, which allows altering the MAC
208 destination address of a frame to that of the device it arrived on.
210 To compile it as a module, choose M here. If unsure, say N.
212 config BRIDGE_EBT_SNAT
213 tristate "ebt: snat target support"
215 This option adds the MAC SNAT target, which allows altering the MAC
216 source address of frames.
218 To compile it as a module, choose M here. If unsure, say N.
222 config BRIDGE_EBT_LOG
223 tristate "ebt: log support"
225 This option adds the log watcher, that you can use in any rule
226 in any ebtables table. It records info about the frame header
229 To compile it as a module, choose M here. If unsure, say N.
231 config BRIDGE_EBT_NFLOG
232 tristate "ebt: nflog support"
234 This option enables the nflog watcher, which allows to LOG
235 messages through the netfilter logging API, which can use
236 either the old LOG target, the old ULOG target or nfnetlink_log
239 This option adds the nflog watcher, that you can use in any rule
240 in any ebtables table.
242 To compile it as a module, choose M here. If unsure, say N.
244 endif # BRIDGE_NF_EBTABLES