do dynamic kernel config changes for netfilter as well
[openwrt/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))