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