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.
27 tristate "Bridge packet logging"
30 endif # NF_TABLES_BRIDGE
32 config NF_CONNTRACK_BRIDGE
33 tristate "IPv4/IPV6 bridge connection tracking support"
34 depends on NF_CONNTRACK
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'
44 To compile it as a module, choose M here. If unsure, say N.
46 menuconfig BRIDGE_NF_EBTABLES
47 tristate "Ethernet Bridge tables (ebtables) support"
48 depends on BRIDGE && NETFILTER && NETFILTER_XTABLES
49 select NETFILTER_FAMILY_BRIDGE
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.
60 config BRIDGE_EBT_BROUTE
61 tristate "ebt: broute table support"
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
68 To compile it as a module, choose M here. If unsure, say N.
70 config BRIDGE_EBT_T_FILTER
71 tristate "ebt: filter table support"
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
77 To compile it as a module, choose M here. If unsure, say N.
79 config BRIDGE_EBT_T_NAT
80 tristate "ebt: nat table support"
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).
86 To compile it as a module, choose M here. If unsure, say N.
90 config BRIDGE_EBT_802_3
91 tristate "ebt: 802.3 filter support"
93 This option adds matching support for 802.3 Ethernet frames.
95 To compile it as a module, choose M here. If unsure, say N.
97 config BRIDGE_EBT_AMONG
98 tristate "ebt: among filter support"
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.
104 To compile it as a module, choose M here. If unsure, say N.
106 config BRIDGE_EBT_ARP
107 tristate "ebt: ARP filter support"
109 This option adds the ARP match, which allows ARP and RARP header field
112 To compile it as a module, choose M here. If unsure, say N.
115 tristate "ebt: IP filter support"
117 This option adds the IP match, which allows basic IP header field
120 To compile it as a module, choose M here. If unsure, say N.
122 config BRIDGE_EBT_IP6
123 tristate "ebt: IP6 filter support"
124 depends on BRIDGE_NF_EBTABLES && IPV6
126 This option adds the IP6 match, which allows basic IPV6 header field
129 To compile it as a module, choose M here. If unsure, say N.
131 config BRIDGE_EBT_LIMIT
132 tristate "ebt: limit match support"
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.
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'.
141 config BRIDGE_EBT_MARK
142 tristate "ebt: mark filter support"
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
149 To compile it as a module, choose M here. If unsure, say N.
151 config BRIDGE_EBT_PKTTYPE
152 tristate "ebt: packet type filter support"
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.
159 To compile it as a module, choose M here. If unsure, say N.
161 config BRIDGE_EBT_STP
162 tristate "ebt: STP filter support"
164 This option adds the Spanning Tree Protocol match, which
165 allows STP header field filtering.
167 To compile it as a module, choose M here. If unsure, say N.
169 config BRIDGE_EBT_VLAN
170 tristate "ebt: 802.1Q VLAN filter support"
172 This option adds the 802.1Q vlan match, which allows the filtering of
175 To compile it as a module, choose M here. If unsure, say N.
179 config BRIDGE_EBT_ARPREPLY
180 tristate "ebt: arp reply target support"
181 depends on BRIDGE_NF_EBTABLES && INET
183 This option adds the arp reply target, which allows
184 automatically sending arp replies to arp requests.
186 To compile it as a module, choose M here. If unsure, say N.
188 config BRIDGE_EBT_DNAT
189 tristate "ebt: dnat target support"
191 This option adds the MAC DNAT target, which allows altering the MAC
192 destination address of frames.
194 To compile it as a module, choose M here. If unsure, say N.
196 config BRIDGE_EBT_MARK_T
197 tristate "ebt: mark target support"
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
204 To compile it as a module, choose M here. If unsure, say N.
206 config BRIDGE_EBT_REDIRECT
207 tristate "ebt: redirect target support"
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.
212 To compile it as a module, choose M here. If unsure, say N.
214 config BRIDGE_EBT_SNAT
215 tristate "ebt: snat target support"
217 This option adds the MAC SNAT target, which allows altering the MAC
218 source address of frames.
220 To compile it as a module, choose M here. If unsure, say N.
224 config BRIDGE_EBT_LOG
225 tristate "ebt: log support"
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
231 To compile it as a module, choose M here. If unsure, say N.
233 config BRIDGE_EBT_NFLOG
234 tristate "ebt: nflog support"
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
241 This option adds the nflog watcher, that you can use in any rule
242 in any ebtables table.
244 To compile it as a module, choose M here. If unsure, say N.
246 endif # BRIDGE_NF_EBTABLES