9262605abc84ccb19b79adaec4d28aa4d79e3c78
[openwrt.git] / package / kernel / modules / netfilter.mk
1 #
2 # Copyright (C) 2006-2008 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 NF_MENU:=Netfilter Extensions
10 NF_KMOD:=1
11 include $(INCLUDE_DIR)/netfilter.mk
12
13 define KernelPackage/ipt-conntrack
14   SUBMENU:=$(NF_MENU)
15   TITLE:=Modules for connection tracking
16   KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
17   FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
18   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_CONNTRACK-m)))
19 endef
20
21 define KernelPackage/ipt-conntrack/description
22  Netfilter (IPv4) kernel modules for connection tracking
23  Includes:
24  - ipt_conntrack
25  - ipt_helper
26  - ipt_connmark/CONNMARK
27 endef
28
29 $(eval $(call KernelPackage,ipt-conntrack))
30
31
32 define KernelPackage/ipt-filter
33   SUBMENU:=$(NF_MENU)
34   TITLE:=Modules for packet content inspection
35   KCONFIG:=$(KCONFIG_IPT_FILTER)
36   FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
37   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_FILTER-m)))
38 endef
39
40 define KernelPackage/ipt-filter/description
41  Netfilter (IPv4) kernel modules for packet content inspection
42  Includes:
43  - ipt_ipp2p
44  - ipt_layer7
45 endef
46
47 $(eval $(call KernelPackage,ipt-filter))
48
49
50 define KernelPackage/ipt-ipopt
51   SUBMENU:=$(NF_MENU)
52   TITLE:=Modules for matching/changing IP packet options
53   KCONFIG:=$(KCONFIG_IPT_IPOPT)
54   FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
55   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPOPT-m)))
56 endef
57
58 define KernelPackage/ipt-ipopt/description
59  Netfilter (IPv4) modules for matching/changing IP packet options
60  Includes:
61  - ipt_CLASSIFY
62  - ipt_dscp/DSCP
63  - ipt_ecn/ECN
64  - ipt_length
65  - ipt_mac
66  - ipt_tos/TOS
67  - ipt_tcpmms
68  - ipt_ttl/TTL
69  - ipt_unclean
70 endef
71
72 $(eval $(call KernelPackage,ipt-ipopt))
73
74
75 define KernelPackage/ipt-ipsec
76   SUBMENU:=$(NF_MENU)
77   TITLE:=Modules for matching IPSec packets
78   KCONFIG:=$(KCONFIG_IPT_IPSEC)
79   FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
80   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSEC-m)))
81 endef
82
83 define KernelPackage/ipt-ipsec/description
84  Netfilter (IPv4) modules for matching IPSec packets
85  Includes:
86  - ipt_ah
87  - ipt_esp
88 endef
89
90 $(eval $(call KernelPackage,ipt-ipsec))
91
92
93 define KernelPackage/ipt-nat
94   SUBMENU:=$(NF_MENU)
95   TITLE:=Modules for extra NAT targets
96   KCONFIG:=$(KCONFIG_IPT_NAT)
97   FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
98   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT-m)))
99 endef
100
101 define KernelPackage/ipt-nat/description
102  Netfilter (IPv4) modules for extra NAT targets
103  Includes:
104  - ipt_REDIRECT
105  - ipt_NETMAP
106 endef
107
108 $(eval $(call KernelPackage,ipt-nat))
109
110
111 define KernelPackage/ipt-nathelper
112   SUBMENU:=$(NF_MENU)
113   TITLE:=Default Conntrack and NAT helpers
114   KCONFIG:=$(KCONFIG_IPT_NATHELPER)
115   FILES:=$(foreach mod,$(IPT_NATHELPER-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
116   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NATHELPER-m)))
117 endef
118
119 define KernelPackage/ipt-nathelper/description
120  Default Netfilter (IPv4) Conntrack and NAT helpers
121  Includes:
122  - ip_conntrack_ftp
123  - ip_nat_ftp
124  - ip_conntrack_irc
125  - ip_nat_irc
126  - ip_conntrack_tftp
127 endef
128
129 $(eval $(call KernelPackage,ipt-nathelper))
130
131
132 define KernelPackage/ipt-nathelper-extra
133   SUBMENU:=$(NF_MENU)
134   TITLE:=Extra Conntrack and NAT helpers
135   KCONFIG:=$(KCONFIG_IPT_NATHELPER_EXTRA)
136   FILES:=$(foreach mod,$(IPT_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
137   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NATHELPER_EXTRA-m)))
138 endef
139
140 define KernelPackage/ipt-nathelper-extra/description
141  Extra Netfilter (IPv4) Conntrack and NAT helpers
142  Includes:
143  - ip_conntrack_amanda
144  - ip_conntrack_proto_gre
145  - ip_nat_proto_gre
146  - ip_conntrack_pptp
147  - ip_nat_pptp
148  - ip_conntrack_sip
149  - ip_nat_sip
150  - ip_nat_snmp_basic
151 endef
152
153 $(eval $(call KernelPackage,ipt-nathelper-extra))
154
155
156 define KernelPackage/ipt-imq
157   SUBMENU:=$(NF_MENU)
158   TITLE:=Intermediate Queueing support
159   KCONFIG:=CONFIG_IP_NF_TARGET_IMQ
160   DEPENDS:=@!LINUX_2_6_25
161   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(LINUX_DIR)/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
162   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)))))
163 endef
164
165 define KernelPackage/ipt-imq/description
166  Kernel support for Intermediate Queueing devices
167 endef
168
169 $(eval $(call KernelPackage,ipt-imq))
170
171
172 define KernelPackage/ipt-queue
173   SUBMENU:=$(NF_MENU)
174   TITLE:=Module for user-space packet queueing
175   KCONFIG:=$(KCONFIG_IPT_QUEUE)
176   FILES:=$(foreach mod,$(IPT_QUEUE-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
177   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_QUEUE-m)))
178 endef
179
180 define KernelPackage/ipt-queue/description
181  Netfilter (IPv4) module for user-space packet queueing
182  Includes:
183  - ipt_QUEUE
184 endef
185
186 $(eval $(call KernelPackage,ipt-queue))
187
188
189 define KernelPackage/ipt-ulog
190   SUBMENU:=$(NF_MENU)
191   TITLE:=Module for user-space packet logging
192   KCONFIG:=$(KCONFIG_IPT_ULOG)
193   FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
194   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_ULOG-m)))
195 endef
196
197 define KernelPackage/ipt-ulog/description
198  Netfilter (IPv4) module for user-space packet logging
199  Includes:
200  - ipt_ULOG
201 endef
202
203 $(eval $(call KernelPackage,ipt-ulog))
204
205
206 define KernelPackage/ipt-iprange
207   SUBMENU:=$(NF_MENU)
208   TITLE:=Module for matching ip ranges
209   FILES:=$(foreach mod,$(IPT_IPRANGE-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
210   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPRANGE-m)))
211 endef
212
213 define KernelPackage/ipt-iprange/description
214  Netfilter (IPv4) module for matching ip ranges
215  Includes:
216  - ipt_IPRANGE
217 endef
218
219 $(eval $(call KernelPackage,ipt-iprange))
220
221
222 define KernelPackage/ipt-ipset
223   SUBMENU:=$(NF_MENU)
224   TITLE:=IPSET Modules
225   KCONFIG:=$(KCONFIG_IPT_IPSET)
226   FILES:=$(foreach mod,$(IPT_IPSET-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
227   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSET-m)))
228 endef
229
230 define KernelPackage/ipt-ipset/description
231  Netfilter kernel modules for ipset
232  Includes:
233  - ip_set
234  - ip_set_iphash
235  - ip_set_ipmap
236  - ip_set_ipporthash
237  - ip_set_iptree
238  - ip_set_iptreemap
239  - ip_set_macipmap
240  - ip_set_nethash
241  - ip_set_portmap
242  - ipt_set
243  - ipt_SET
244 endef
245
246 $(eval $(call KernelPackage,ipt-ipset))
247
248
249 define KernelPackage/ipt-extra
250   SUBMENU:=$(NF_MENU)
251   TITLE:=Extra modules
252   KCONFIG:=$(KCONFIG_IPT_EXTRA)
253   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
254   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
255 endef
256
257 define KernelPackage/ipt-extra/description
258  Other Netfilter (IPv4) kernel modules
259  Includes:
260  - ipt_limit
261  - ipt_owner
262  - ipt_physdev
263  - ipt_pkttype
264  - ipt_recent
265  - iptable_raw
266  - xt_NOTRACK
267  - xt_TARPIT
268  - xt_DELUDE
269  - xt_CHAOS
270 endef
271
272 $(eval $(call KernelPackage,ipt-extra))
273
274
275 define KernelPackage/ip6tables
276   SUBMENU:=$(NF_MENU)
277   TITLE:=IPv6 modules
278   DEPENDS:=+kmod-ipv6
279   KCONFIG:=CONFIG_IP6_NF_IPTABLES
280   FILES:=$(foreach mod,$(IPT_IPV6-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
281   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPV6-m)))
282 endef
283
284 define KernelPackage/ip6tables/description
285  Netfilter IPv6 firewalling support
286 endef
287
288 $(eval $(call KernelPackage,ip6tables))
289
290
291 define KernelPackage/arptables
292   SUBMENU:=$(NF_MENU)
293   TITLE:=ARP firewalling modules
294   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
295   KCONFIG:=CONFIG_IP_NF_ARPTABLES
296   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
297 endef
298
299 define KernelPackage/arptables/description
300  Kernel modules for ARP firewalling
301 endef
302
303 $(eval $(call KernelPackage,arptables))
304
305
306 define KernelPackage/ebtables
307   SUBMENU:=$(NF_MENU)
308   TITLE:=Bridge firewalling modules
309   DEPENDS:=@LINUX_2_6
310   FILES:=$(LINUX_DIR)/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
311   KCONFIG:=CONFIG_BRIDGE_NF_EBTABLES
312   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)))))
313 endef
314
315 define KernelPackage/ebtables/description
316  Kernel modules for Ethernet Bridge firewalling
317 endef
318
319 $(eval $(call KernelPackage,ebtables))