do dynamic kernel config changes for netfilter as well
[openwrt.git] / package / kernel / modules / netfilter.mk
1
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 NFMENU:=Netfilter Extensions
10 include $(INCLUDE_DIR)/netfilter.mk
11
12 define KernelPackage/ipt-conntrack
13   TITLE:=Modules for connection tracking
14   DESCRIPTION:=\
15         Netfilter (IPv4) kernel modules for connection tracking\\\
16         \\\
17         Includes: \\\
18         - ipt_conntrack \\\
19         - ipt_helper \\\
20         - ipt_connmark/CONNMARK
21   KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
22   FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
23   SUBMENU:=$(NFMENU)
24   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_CONNTRACK-m)))
25 endef
26 $(eval $(call KernelPackage,ipt-conntrack))
27
28 define KernelPackage/ipt-filter
29   TITLE:=Modules for packet content inspection
30   DESCRIPTION:=\
31         Netfilter (IPv4) kernel modules for packet content inspection \\\
32         \\\
33         Includes: \\\
34         - ipt_ipp2p \\\
35         - ipt_layer7
36   KCONFIG:=$(KCONFIG_IPT_FILTER)
37   FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
38   SUBMENU:=$(NFMENU)
39   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_FILTER-m)))
40 endef
41 $(eval $(call KernelPackage,ipt-filter))
42
43 define KernelPackage/ipt-ipopt
44   TITLE:=Modules for matching/changing IP packet options
45   DESCRIPTION:=\
46         Netfilter (IPv4) modules for matching/changing IP packet options \\\
47         \\\
48         Includes: \\\
49         - ipt_CLASSIFY \\\
50         - ipt_dscp/DSCP \\\
51         - ipt_ecn/ECN \\\
52         - ipt_length \\\
53         - ipt_mac \\\
54         - ipt_tos/TOS \\\
55         - ipt_tcpmms \\\
56         - ipt_ttl/TTL \\\
57         - ipt_unclean
58   KCONFIG:=$(KCONFIG_IPT_IPOPT)
59   FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
60   SUBMENU:=$(NFMENU)
61   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPOPT-m)))
62 endef
63 $(eval $(call KernelPackage,ipt-ipopt))
64
65 define KernelPackage/ipt-ipsec
66   TITLE:=Modules for matching IPSec packets
67   DESCRIPTION:=\
68         Netfilter (IPv4) modules for matching IPSec packets \\\
69         \\\
70         Includes: \\\
71         - ipt_ah \\\
72         - ipt_esp
73   KCONFIG:=$(KCONFIG_IPT_IPSEC)
74   FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
75   SUBMENU:=$(NFMENU)
76   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSEC-m)))
77 endef
78 $(eval $(call KernelPackage,ipt-ipsec))
79
80 define KernelPackage/ipt-nat
81   TITLE:=Modules for extra NAT targets
82   DESCRIPTION:=\
83         Netfilter (IPv4) modules for extra NAT targets \\\
84         \\\
85         Includes: \\\
86         - ipt_REDIRECT \\\
87         - ipt_NETMAP
88   KCONFIG:=$(KCONFIG_IPT_NAT)
89   FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
90   SUBMENU:=$(NFMENU)
91   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT-m)))
92 endef
93 $(eval $(call KernelPackage,ipt-nat))
94
95 define KernelPackage/ipt-nathelper
96   TITLE:=Default Conntrack and NAT helpers
97   DESCRIPTION:=\
98         Default Netfilter (IPv4) Conntrack and NAT helpers \\\
99         \\\
100         Includes: \\\
101         - ip_conntrack_ftp \\\
102         - ip_nat_ftp \\\
103         - ip_conntrack_irc \\\
104         - ip_nat_irc \\\
105         - ip_conntrack_tftp
106   KCONFIG:=$(KCONFIG_IPT_NAT_DEFAULT)
107   FILES:=$(foreach mod,$(IPT_NAT_DEFAULT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
108   SUBMENU:=$(NFMENU)
109   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_DEFAULT-m)))
110 endef
111 $(eval $(call KernelPackage,ipt-nathelper))
112
113 define KernelPackage/ipt-nathelper-extra
114   TITLE:=Extra Conntrack and NAT helpers
115   DESCRIPTION:=\
116         Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
117         \\\
118         Includes: \\\
119         - ip_conntrack_amanda \\\
120         - ip_conntrack_proto_gre \\\
121         - ip_nat_proto_gre \\\
122         - ip_conntrack_pptp \\\
123         - ip_nat_pptp \\\
124         - ip_conntrack_sip \\\
125         - ip_nat_sip \\\
126         - ip_nat_snmp_basic
127   KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
128   FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
129   SUBMENU:=$(NFMENU)
130   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_EXTRA-m)))
131 endef
132 $(eval $(call KernelPackage,ipt-nathelper-extra))
133
134 define KernelPackage/ipt-imq
135   TITLE:=Intermediate Queueing support
136   DESCRIPTION:=\
137         Kernel support for Intermediate Queueing devices
138   KCONFIG:=CONFIG_IP_NF_TARGET_IMQ
139   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(LINUX_DIR)/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
140   SUBMENU:=$(NFMENU)
141   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)))))
142 endef
143 $(eval $(call KernelPackage,ipt-imq))
144
145
146 define KernelPackage/ipt-queue
147   TITLE:=Module for user-space packet queueing
148   DESCRIPTION:=\
149         Netfilter (IPv4) module for user-space packet queueing \\\
150         \\\
151         Includes: \\\
152         - ipt_QUEUE
153   KCONFIG:=$(KCONFIG_IPT_QUEUE)
154   FILES:=$(foreach mod,$(IPT_QUEUE-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
155   SUBMENU:=$(NFMENU)
156   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_QUEUE-m)))
157 endef
158 $(eval $(call KernelPackage,ipt-queue))
159
160 define KernelPackage/ipt-ulog
161   TITLE:=Module for user-space packet logging
162   DESCRIPTION:=\
163         Netfilter (IPv4) module for user-space packet logging \\\
164         \\\
165         Includes: \\\
166         - ipt_ULOG
167   KCONFIG:=$(KCONFIG_IPT_ULOG)
168   FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
169   SUBMENU:=$(NFMENU)
170   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_ULOG-m)))
171 endef
172 $(eval $(call KernelPackage,ipt-ulog))
173
174 define KernelPackage/ipt-iprange
175   TITLE:=Module for matching ip ranges
176   DESCRIPTION:=\
177         Netfilter (IPv4) module for matching ip ranges \\\
178         \\\
179         Includes: \\\
180         - ipt_IPRANGE
181   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/ipt_iprange.$(LINUX_KMOD_SUFFIX)
182   SUBMENU:=$(NFMENU)
183   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPRANGE-m)))
184 endef
185 $(eval $(call KernelPackage,ipt-iprange))
186
187 define KernelPackage/ipt-ipset
188   TITLE:=IPSET Modules
189   DESCRIPTION:=\
190         Netfilter kernel modules for ipset
191   KCONFIG:=$(KCONFIG_IPT_IPSET)
192   FILES:=$(foreach mod,$(IPT_IPSET-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
193   SUBMENU:=$(NFMENU)
194   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSET-m)))
195 endef
196 $(eval $(call KernelPackage,ipt-ipset))
197
198
199 define KernelPackage/ipt-extra
200   TITLE:=Extra modules
201   DESCRIPTION:=\
202         Other Netfilter (IPv4) kernel modules\\\
203         Includes: \\\
204         - ipt_limit \\\
205         - ipt_owner \\\
206         - ipt_physdev \\\
207         - ipt_pkttype \\\
208         - ipt_recent \\\
209         - iptable_raw \\\
210         - xt_NOTRACK 
211   KCONFIG:=$(KCONFIG_IPT_EXTRA)
212   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
213   SUBMENU:=$(NFMENU)
214   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
215 endef
216 $(eval $(call KernelPackage,ipt-extra))
217
218 define KernelPackage/ip6tables
219   TITLE:=IPv6 modules
220   DESCRIPTION:=\
221         Netfilter IPv6 firewalling support
222   KCONFIG:=CONFIG_IP6_NF_IPTABLES
223   FILES:=$(LINUX_DIR)/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
224   SUBMENU:=$(NFMENU)
225   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)))))
226 endef
227 $(eval $(call KernelPackage,ip6tables))
228
229
230 define KernelPackage/arptables
231   TITLE:=ARP firewalling modules
232   DESCRIPTION:=\
233         Kernel modules for ARP firewalling
234   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
235   KCONFIG:=CONFIG_IP_NF_ARPTABLES
236   SUBMENU:=$(NFMENU)
237   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
238 endef
239 $(eval $(call KernelPackage,arptables))
240
241
242 define KernelPackage/ebtables
243   TITLE:=Bridge firewalling modules
244   DESCRIPTION:=\
245         Kernel modules for Ethernet Bridge firewalling
246   DEPENDS:=@LINUX_2_6
247   FILES:=$(LINUX_DIR)/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
248   KCONFIG:=CONFIG_BRIDGE_NF_EBTABLES
249   SUBMENU:=$(NFMENU)
250   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)))))
251 endef
252 $(eval $(call KernelPackage,ebtables))