do dynamic kernel config changes for netfilter as well
[openwrt/openwrt.git] / package / kernel / modules / netfilter.mk
index e14cdb8090000aeeba5d20b48f90bc920c3810d5..a25dbdef7a46cd090a8413af61793f1dcb1ad9a5 100644 (file)
@@ -7,6 +7,7 @@
 # $Id$
 
 NFMENU:=Netfilter Extensions
 # $Id$
 
 NFMENU:=Netfilter Extensions
+include $(INCLUDE_DIR)/netfilter.mk
 
 define KernelPackage/ipt-conntrack
   TITLE:=Modules for connection tracking
 
 define KernelPackage/ipt-conntrack
   TITLE:=Modules for connection tracking
@@ -17,7 +18,8 @@ define KernelPackage/ipt-conntrack
        - ipt_conntrack \\\
        - ipt_helper \\\
        - ipt_connmark/CONNMARK
        - ipt_conntrack \\\
        - ipt_helper \\\
        - ipt_connmark/CONNMARK
-  FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
+  FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_CONNTRACK-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_CONNTRACK-m)))
 endef
@@ -31,7 +33,8 @@ define KernelPackage/ipt-filter
        Includes: \\\
        - ipt_ipp2p \\\
        - ipt_layer7
        Includes: \\\
        - ipt_ipp2p \\\
        - ipt_layer7
-  FILES:=$(foreach mod,$(IPT_FILTER-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_FILTER)
+  FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_FILTER-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_FILTER-m)))
 endef
@@ -43,6 +46,7 @@ define KernelPackage/ipt-ipopt
        Netfilter (IPv4) modules for matching/changing IP packet options \\\
        \\\
        Includes: \\\
        Netfilter (IPv4) modules for matching/changing IP packet options \\\
        \\\
        Includes: \\\
+       - ipt_CLASSIFY \\\
        - ipt_dscp/DSCP \\\
        - ipt_ecn/ECN \\\
        - ipt_length \\\
        - ipt_dscp/DSCP \\\
        - ipt_ecn/ECN \\\
        - ipt_length \\\
@@ -51,7 +55,8 @@ define KernelPackage/ipt-ipopt
        - ipt_tcpmms \\\
        - ipt_ttl/TTL \\\
        - ipt_unclean
        - ipt_tcpmms \\\
        - ipt_ttl/TTL \\\
        - ipt_unclean
-  FILES:=$(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_IPOPT)
+  FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPOPT-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPOPT-m)))
 endef
@@ -65,7 +70,8 @@ define KernelPackage/ipt-ipsec
        Includes: \\\
        - ipt_ah \\\
        - ipt_esp
        Includes: \\\
        - ipt_ah \\\
        - ipt_esp
-  FILES:=$(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_IPSEC)
+  FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSEC-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSEC-m)))
 endef
@@ -79,7 +85,8 @@ define KernelPackage/ipt-nat
        Includes: \\\
        - ipt_REDIRECT \\\
        - ipt_NETMAP
        Includes: \\\
        - ipt_REDIRECT \\\
        - ipt_NETMAP
-  FILES:=$(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_NAT)
+  FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT-m)))
 endef
@@ -87,7 +94,6 @@ $(eval $(call KernelPackage,ipt-nat))
 
 define KernelPackage/ipt-nathelper
   TITLE:=Default Conntrack and NAT helpers
 
 define KernelPackage/ipt-nathelper
   TITLE:=Default Conntrack and NAT helpers
-  DEFAULT:=y
   DESCRIPTION:=\
        Default Netfilter (IPv4) Conntrack and NAT helpers \\\
        \\\
   DESCRIPTION:=\
        Default Netfilter (IPv4) Conntrack and NAT helpers \\\
        \\\
@@ -97,7 +103,8 @@ define KernelPackage/ipt-nathelper
        - ip_conntrack_irc \\\
        - ip_nat_irc \\\
        - ip_conntrack_tftp
        - ip_conntrack_irc \\\
        - ip_nat_irc \\\
        - ip_conntrack_tftp
-  FILES:=$(foreach mod,$(IPT_NAT_DEFAULT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_NAT_DEFAULT)
+  FILES:=$(foreach mod,$(IPT_NAT_DEFAULT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_DEFAULT-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_DEFAULT-m)))
 endef
@@ -117,7 +124,8 @@ define KernelPackage/ipt-nathelper-extra
        - ip_conntrack_sip \\\
        - ip_nat_sip \\\
        - ip_nat_snmp_basic
        - ip_conntrack_sip \\\
        - ip_nat_sip \\\
        - ip_nat_snmp_basic
-  FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
+  FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_EXTRA-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_EXTRA-m)))
 endef
@@ -127,10 +135,10 @@ define KernelPackage/ipt-imq
   TITLE:=Intermediate Queueing support
   DESCRIPTION:=\
        Kernel support for Intermediate Queueing devices
   TITLE:=Intermediate Queueing support
   DESCRIPTION:=\
        Kernel support for Intermediate Queueing devices
-  KCONFIG:=$(CONFIG_IP_NF_TARGET_IMQ)
-  FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_IP_NF_TARGET_IMQ
+  FILES:=$(LINUX_DIR)/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(LINUX_DIR)/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
   SUBMENU:=$(NFMENU)
   SUBMENU:=$(NFMENU)
-  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)))))
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(LINUX_DIR)/drivers/net/imq.$(LINUX_KMOD_SUFFIX)))))
 endef
 $(eval $(call KernelPackage,ipt-imq))
 
 endef
 $(eval $(call KernelPackage,ipt-imq))
 
@@ -142,7 +150,8 @@ define KernelPackage/ipt-queue
        \\\
        Includes: \\\
        - ipt_QUEUE
        \\\
        Includes: \\\
        - ipt_QUEUE
-  FILES:=$(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_QUEUE)
+  FILES:=$(foreach mod,$(IPT_QUEUE-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_QUEUE-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_QUEUE-m)))
 endef
@@ -155,12 +164,38 @@ define KernelPackage/ipt-ulog
        \\\
        Includes: \\\
        - ipt_ULOG
        \\\
        Includes: \\\
        - ipt_ULOG
-  FILES:=$(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  KCONFIG:=$(KCONFIG_IPT_ULOG)
+  FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_ULOG-m)))
 endef
 $(eval $(call KernelPackage,ipt-ulog))
 
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_ULOG-m)))
 endef
 $(eval $(call KernelPackage,ipt-ulog))
 
+define KernelPackage/ipt-iprange
+  TITLE:=Module for matching ip ranges
+  DESCRIPTION:=\
+       Netfilter (IPv4) module for matching ip ranges \\\
+       \\\
+       Includes: \\\
+       - ipt_IPRANGE
+  FILES:=$(LINUX_DIR)/net/ipv4/netfilter/ipt_iprange.$(LINUX_KMOD_SUFFIX)
+  SUBMENU:=$(NFMENU)
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPRANGE-m)))
+endef
+$(eval $(call KernelPackage,ipt-iprange))
+
+define KernelPackage/ipt-ipset
+  TITLE:=IPSET Modules
+  DESCRIPTION:=\
+       Netfilter kernel modules for ipset
+  KCONFIG:=$(KCONFIG_IPT_IPSET)
+  FILES:=$(foreach mod,$(IPT_IPSET-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
+  SUBMENU:=$(NFMENU)
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSET-m)))
+endef
+$(eval $(call KernelPackage,ipt-ipset))
+
+
 define KernelPackage/ipt-extra
   TITLE:=Extra modules
   DESCRIPTION:=\
 define KernelPackage/ipt-extra
   TITLE:=Extra modules
   DESCRIPTION:=\
@@ -170,8 +205,11 @@ define KernelPackage/ipt-extra
        - ipt_owner \\\
        - ipt_physdev \\\
        - ipt_pkttype \\\
        - ipt_owner \\\
        - ipt_physdev \\\
        - ipt_pkttype \\\
-       - ipt_recent
-  FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+       - ipt_recent \\\
+       - iptable_raw \\\
+       - xt_NOTRACK 
+  KCONFIG:=$(KCONFIG_IPT_EXTRA)
+  FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
 endef
   SUBMENU:=$(NFMENU)
   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
 endef
@@ -181,10 +219,10 @@ define KernelPackage/ip6tables
   TITLE:=IPv6 modules
   DESCRIPTION:=\
        Netfilter IPv6 firewalling support
   TITLE:=IPv6 modules
   DESCRIPTION:=\
        Netfilter IPv6 firewalling support
-  KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
-  FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_IP6_NF_IPTABLES
+  FILES:=$(LINUX_DIR)/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
   SUBMENU:=$(NFMENU)
   SUBMENU:=$(NFMENU)
-  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6table_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6t_*.$(LINUX_KMOD_SUFFIX)))))
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv6/netfilter/ip6_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(LINUX_DIR)/net/ipv6/netfilter/ip6table_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(LINUX_DIR)/net/ipv6/netfilter/ip6t_*.$(LINUX_KMOD_SUFFIX)))))
 endef
 $(eval $(call KernelPackage,ip6tables))
 
 endef
 $(eval $(call KernelPackage,ip6tables))
 
@@ -193,10 +231,10 @@ define KernelPackage/arptables
   TITLE:=ARP firewalling modules
   DESCRIPTION:=\
        Kernel modules for ARP firewalling
   TITLE:=ARP firewalling modules
   DESCRIPTION:=\
        Kernel modules for ARP firewalling
-  FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
-  KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
+  FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_IP_NF_ARPTABLES
   SUBMENU:=$(NFMENU)
   SUBMENU:=$(NFMENU)
-  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
 endef
 $(eval $(call KernelPackage,arptables))
 
 endef
 $(eval $(call KernelPackage,arptables))
 
@@ -205,9 +243,10 @@ define KernelPackage/ebtables
   TITLE:=Bridge firewalling modules
   DESCRIPTION:=\
        Kernel modules for Ethernet Bridge firewalling
   TITLE:=Bridge firewalling modules
   DESCRIPTION:=\
        Kernel modules for Ethernet Bridge firewalling
-  FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
-  KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
+  DEPENDS:=@LINUX_2_6
+  FILES:=$(LINUX_DIR)/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_BRIDGE_NF_EBTABLES
   SUBMENU:=$(NFMENU)
   SUBMENU:=$(NFMENU)
-  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,ebtables.ko $(wildcard $(MODULES_DIR)/kernel/net/bridge/netfilter/ebtable_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_*.$(LINUX_KMOD_SUFFIX)))))
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,ebtables.ko $(wildcard $(LINUX_DIR)/net/bridge/netfilter/ebtable_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(LINUX_DIR)/net/bridge/netfilter/ebt_*.$(LINUX_KMOD_SUFFIX)))))
 endef
 $(eval $(call KernelPackage,ebtables))
 endef
 $(eval $(call KernelPackage,ebtables))