do dynamic kernel config changes for netfilter as well
[openwrt/openwrt.git] / package / kernel / modules / netfilter.mk
index 6f3994c1217ca21899e5f34bf8c6f69a843180a7..a25dbdef7a46cd090a8413af61793f1dcb1ad9a5 100644 (file)
@@ -7,6 +7,7 @@
 # $Id$
 
 NFMENU:=Netfilter Extensions
+include $(INCLUDE_DIR)/netfilter.mk
 
 define KernelPackage/ipt-conntrack
   TITLE:=Modules for connection tracking
@@ -17,8 +18,10 @@ define KernelPackage/ipt-conntrack
        - 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
 $(eval $(call KernelPackage,ipt-conntrack))
 
@@ -30,8 +33,10 @@ define KernelPackage/ipt-filter
        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
 $(eval $(call KernelPackage,ipt-filter))
 
@@ -41,6 +46,7 @@ define KernelPackage/ipt-ipopt
        Netfilter (IPv4) modules for matching/changing IP packet options \\\
        \\\
        Includes: \\\
+       - ipt_CLASSIFY \\\
        - ipt_dscp/DSCP \\\
        - ipt_ecn/ECN \\\
        - ipt_length \\\
@@ -49,8 +55,10 @@ define KernelPackage/ipt-ipopt
        - 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
 $(eval $(call KernelPackage,ipt-ipopt))
 
@@ -62,8 +70,10 @@ define KernelPackage/ipt-ipsec
        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
 $(eval $(call KernelPackage,ipt-ipsec))
 
@@ -75,12 +85,32 @@ define KernelPackage/ipt-nat
        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
 $(eval $(call KernelPackage,ipt-nat))
 
 define KernelPackage/ipt-nathelper
+  TITLE:=Default Conntrack and NAT helpers
+  DESCRIPTION:=\
+       Default Netfilter (IPv4) Conntrack and NAT helpers \\\
+       \\\
+       Includes: \\\
+       - ip_conntrack_ftp \\\
+       - ip_nat_ftp \\\
+       - ip_conntrack_irc \\\
+       - ip_nat_irc \\\
+       - ip_conntrack_tftp
+  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
+$(eval $(call KernelPackage,ipt-nathelper))
+
+define KernelPackage/ipt-nathelper-extra
   TITLE:=Extra Conntrack and NAT helpers
   DESCRIPTION:=\
        Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
@@ -93,20 +123,22 @@ define KernelPackage/ipt-nathelper
        - ip_nat_pptp \\\
        - ip_conntrack_sip \\\
        - ip_nat_sip \\\
-       - ip_nat_snmp_basic \\\
-       - ip_conntrack_tftp
-  FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
+       - ip_nat_snmp_basic
+  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
-$(eval $(call KernelPackage,ipt-nathelper))
+$(eval $(call KernelPackage,ipt-nathelper-extra))
 
 define KernelPackage/ipt-imq
   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)
+  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))
 
@@ -118,8 +150,10 @@ define KernelPackage/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
 $(eval $(call KernelPackage,ipt-queue))
 
@@ -130,11 +164,38 @@ define KernelPackage/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))
 
+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:=\
@@ -144,9 +205,13 @@ define KernelPackage/ipt-extra
        - 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
 $(eval $(call KernelPackage,ipt-extra))
 
@@ -154,9 +219,10 @@ define KernelPackage/ip6tables
   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)
+  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))
 
@@ -165,9 +231,10 @@ define KernelPackage/arptables
   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)
+  AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
 endef
 $(eval $(call KernelPackage,arptables))
 
@@ -176,10 +243,10 @@ define KernelPackage/ebtables
   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)
+  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))
-
-