aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira <pablo@netfilter.org>2014-05-25 08:48:33 -0400
committerDavid S. Miller <davem@davemloft.net>2014-05-26 00:42:30 -0400
commit1708803ef224367b8bd5b83b400c768a2044d7fa (patch)
treeca55119c1f8379f05cc194b6cf2dd033b0f02e9c
parent587b24a54984f626337d8a6ce2931994c342ded3 (diff)
netfilter: bridge: fix Kconfig unmet dependencies
Before f5efc69 ("netfilter: nf_tables: Add meta expression key for bridge interface name"), the entire net/bridge/netfilter/ directory depended on BRIDGE_NF_EBTABLES, ie. on ebtables. However, that directory already contained the nf_tables bridge extension that we should allow to compile separately. In f5efc69, we tried to generalize this by using CONFIG_BRIDGE_NETFILTER which was not a good idea since this option already existed and it is dedicated to enable the Netfilter bridge IP/ARP filtering. Let's try to fix this mess by: 1) making net/bridge/netfilter/ dependent on the toplevel CONFIG_NETFILTER option, just like we do with the net/netfilter and net/ipv{4,6}/netfilter/ directories. 2) Changing 'selects' to 'depends on' NETFILTER_XTABLES for BRIDGE_NF_EBTABLES. I believe this problem was already before f5efc69: warning: (BRIDGE_NF_EBTABLES) selects NETFILTER_XTABLES which has unmet direct dependencies (NET && INET && NETFILTER) 3) Fix ebtables/nf_tables bridge dependencies by making NF_TABLES_BRIDGE and BRIDGE_NF_EBTABLES dependent on BRIDGE and NETFILTER: warning: (NF_TABLES_BRIDGE && BRIDGE_NF_EBTABLES) selects BRIDGE_NETFILTER which has unmet direct dependencies (NET && BRIDGE && NETFILTER && INET && NETFILTER_ADVANCED) net/built-in.o: In function `br_parse_ip_options': br_netfilter.c:(.text+0x4a5ba): undefined reference to `ip_options_compile' br_netfilter.c:(.text+0x4a5ed): undefined reference to `ip_options_rcv_srr' net/built-in.o: In function `br_nf_pre_routing_finish': br_netfilter.c:(.text+0x4a8a4): undefined reference to `ip_route_input_noref' br_netfilter.c:(.text+0x4a987): undefined reference to `ip_route_output_flow' make: *** [vmlinux] Error 1 Reported-by: Jim Davis <jim.epost@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/bridge/Makefile2
-rw-r--r--net/bridge/netfilter/Kconfig7
2 files changed, 3 insertions, 6 deletions
diff --git a/net/bridge/Makefile b/net/bridge/Makefile
index 29b6e2a8ca9e..8590b942bffa 100644
--- a/net/bridge/Makefile
+++ b/net/bridge/Makefile
@@ -16,4 +16,4 @@ bridge-$(CONFIG_BRIDGE_IGMP_SNOOPING) += br_multicast.o br_mdb.o
16 16
17bridge-$(CONFIG_BRIDGE_VLAN_FILTERING) += br_vlan.o 17bridge-$(CONFIG_BRIDGE_VLAN_FILTERING) += br_vlan.o
18 18
19obj-$(CONFIG_BRIDGE_NETFILTER) += netfilter/ 19obj-$(CONFIG_NETFILTER) += netfilter/
diff --git a/net/bridge/netfilter/Kconfig b/net/bridge/netfilter/Kconfig
index 3baf29d34e62..629dc77874a9 100644
--- a/net/bridge/netfilter/Kconfig
+++ b/net/bridge/netfilter/Kconfig
@@ -3,8 +3,7 @@
3# 3#
4# 4#
5menuconfig NF_TABLES_BRIDGE 5menuconfig NF_TABLES_BRIDGE
6 depends on NF_TABLES 6 depends on BRIDGE && NETFILTER && NF_TABLES
7 select BRIDGE_NETFILTER
8 tristate "Ethernet Bridge nf_tables support" 7 tristate "Ethernet Bridge nf_tables support"
9 8
10if NF_TABLES_BRIDGE 9if NF_TABLES_BRIDGE
@@ -19,9 +18,7 @@ endif # NF_TABLES_BRIDGE
19 18
20menuconfig BRIDGE_NF_EBTABLES 19menuconfig BRIDGE_NF_EBTABLES
21 tristate "Ethernet Bridge tables (ebtables) support" 20 tristate "Ethernet Bridge tables (ebtables) support"
22 depends on BRIDGE && NETFILTER 21 depends on BRIDGE && NETFILTER && NETFILTER_XTABLES
23 select BRIDGE_NETFILTER
24 select NETFILTER_XTABLES
25 help 22 help
26 ebtables is a general, extensible frame/packet identification 23 ebtables is a general, extensible frame/packet identification
27 framework. Say 'Y' or 'M' here if you want to do Ethernet 24 framework. Say 'Y' or 'M' here if you want to do Ethernet