3 # Copyright (C) 2006-2008 OpenWrt.org
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 NF_MENU
:=Netfilter Extensions
11 include $(INCLUDE_DIR
)/netfilter.mk
13 define KernelPackage
/ipt-core
16 KCONFIG
:=$(KCONFIG_IPT_CORE
)
17 FILES
:=$(foreach mod
,$(IPT_CORE-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
18 AUTOLOAD
:=$(call AutoLoad
,40,$(notdir $(IPT_CORE-m
)))
21 define KernelPackage
/ipt-core
/description
22 Netfilter core kernel modules
32 $(eval
$(call KernelPackage
,ipt-core
))
35 define KernelPackage
/ipt-conntrack
37 TITLE
:=Basic connection tracking modules
38 KCONFIG
:=$(KCONFIG_IPT_CONNTRACK
)
39 FILES
:=$(foreach mod
,$(IPT_CONNTRACK-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
40 AUTOLOAD
:=$(call AutoLoad
,41,$(notdir $(IPT_CONNTRACK-m
)))
41 DEPENDS
:= kmod-ipt-core
44 define KernelPackage
/ipt-conntrack
/description
45 Netfilter
(IPv4
) kernel modules for connection tracking
50 $(eval
$(call KernelPackage
,ipt-conntrack
))
53 define KernelPackage
/ipt-conntrack-extra
55 TITLE
:=Extra connection tracking modules
56 KCONFIG
:=$(KCONFIG_IPT_CONNTRACK_EXTRA
)
57 FILES
:=$(foreach mod
,$(IPT_CONNTRACK_EXTRA-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
58 AUTOLOAD
:=$(call AutoLoad
,42,$(notdir $(IPT_CONNTRACK_EXTRA-m
)))
59 DEPENDS
:= kmod-ipt-core
+kmod-ipt-conntrack
62 define KernelPackage
/ipt-conntrack-extra
/description
63 Netfilter
(IPv4
) extra kernel modules for connection tracking
73 $(eval
$(call KernelPackage
,ipt-conntrack-extra
))
76 define KernelPackage
/ipt-filter
78 TITLE
:=Modules for packet content inspection
79 KCONFIG
:=$(KCONFIG_IPT_FILTER
)
80 FILES
:=$(foreach mod
,$(IPT_FILTER-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
81 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_FILTER-m
)))
82 DEPENDS
:=kmod-ipt-core
+LINUX_2_6
:kmod-textsearch
85 define KernelPackage
/ipt-filter
/description
86 Netfilter
(IPv4
) kernel modules for packet content inspection
92 $(eval
$(call KernelPackage
,ipt-filter
))
95 define KernelPackage
/ipt-ipopt
97 TITLE
:=Modules for matching
/changing IP packet options
98 KCONFIG
:=$(KCONFIG_IPT_IPOPT
)
99 FILES
:=$(foreach mod
,$(IPT_IPOPT-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
100 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_IPOPT-m
)))
101 DEPENDS
:= kmod-ipt-core
104 define KernelPackage
/ipt-ipopt
/description
105 Netfilter
(IPv4
) modules for matching
/changing IP packet options
117 $(eval
$(call KernelPackage
,ipt-ipopt
))
120 define KernelPackage
/ipt-ipsec
122 TITLE
:=Modules for matching IPSec packets
123 KCONFIG
:=$(KCONFIG_IPT_IPSEC
)
124 FILES
:=$(foreach mod
,$(IPT_IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
125 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_IPSEC-m
)))
126 DEPENDS
:= kmod-ipt-core
129 define KernelPackage
/ipt-ipsec
/description
130 Netfilter
(IPv4
) modules for matching IPSec packets
136 $(eval
$(call KernelPackage
,ipt-ipsec
))
139 define KernelPackage
/ipt-nat
141 TITLE
:=Basic NAT targets
142 KCONFIG
:=$(KCONFIG_IPT_NAT
)
143 FILES
:=$(foreach mod
,$(IPT_NAT-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
144 AUTOLOAD
:=$(call AutoLoad
,42,$(notdir $(IPT_NAT-m
)))
145 DEPENDS
:= kmod-ipt-core
+kmod-ipt-conntrack
148 define KernelPackage
/ipt-nat
/description
149 Netfilter
(IPv4
) kernel modules for basic NAT targets
154 $(eval
$(call KernelPackage
,ipt-nat
))
157 define KernelPackage
/ipt-nat-extra
159 TITLE
:=Extra NAT targets
160 KCONFIG
:=$(KCONFIG_IPT_NAT_EXTRA
)
161 FILES
:=$(foreach mod
,$(IPT_NAT_EXTRA-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
162 AUTOLOAD
:=$(call AutoLoad
,43,$(notdir $(IPT_NAT_EXTRA-m
)))
163 DEPENDS
:= kmod-ipt-core
+kmod-ipt-nat
166 define KernelPackage
/ipt-nat-extra
/description
167 Netfilter
(IPv4
) kernel modules for extra NAT targets
174 $(eval
$(call KernelPackage
,ipt-nat-extra
))
177 define KernelPackage
/ipt-nathelper
179 TITLE
:=Basic Conntrack and NAT helpers
180 KCONFIG
:=$(KCONFIG_IPT_NATHELPER
)
181 FILES
:=$(foreach mod
,$(IPT_NATHELPER-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
182 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_NATHELPER-m
)))
183 DEPENDS
:= kmod-ipt-core
+kmod-ipt-nat
186 define KernelPackage
/ipt-nathelper
/description
187 Default Netfilter
(IPv4
) Conntrack and NAT helpers
197 $(eval
$(call KernelPackage
,ipt-nathelper
))
200 define KernelPackage
/ipt-nathelper-extra
202 TITLE
:=Extra Conntrack and NAT helpers
203 KCONFIG
:=$(KCONFIG_IPT_NATHELPER_EXTRA
)
204 FILES
:=$(foreach mod
,$(IPT_NATHELPER_EXTRA-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
205 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_NATHELPER_EXTRA-m
)))
206 DEPENDS
:= kmod-ipt-core
+kmod-ipt-nat
+LINUX_2_6
:kmod-textsearch
209 define KernelPackage
/ipt-nathelper-extra
/description
210 Extra Netfilter
(IPv4
) Conntrack and NAT helpers
212 - ip_conntrack_amanda
213 - ip_conntrack_proto_gre
222 $(eval
$(call KernelPackage
,ipt-nathelper-extra
))
225 define KernelPackage
/ipt-imq
227 TITLE
:=Intermediate Queueing support
230 CONFIG_IMQ_BEHAVIOR_BA
=y \
231 CONFIG_IMQ_NUM_DEVS
=2 \
232 CONFIG_NETFILTER_XT_TARGET_IMQ
234 $(LINUX_DIR
)/drivers
/net
/imq.
$(LINUX_KMOD_SUFFIX
) \
235 $(foreach mod
,$(IPT_IMQ-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
236 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir \
240 DEPENDS
:= kmod-ipt-core
243 define KernelPackage
/ipt-imq
/description
244 Kernel support for Intermediate Queueing devices
247 $(eval
$(call KernelPackage
,ipt-imq
))
250 define KernelPackage
/ipt-queue
252 TITLE
:=Module for user-space packet queueing
253 KCONFIG
:=$(KCONFIG_IPT_QUEUE
)
254 FILES
:=$(foreach mod
,$(IPT_QUEUE-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
255 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_QUEUE-m
)))
256 DEPENDS
:= kmod-ipt-core
259 define KernelPackage
/ipt-queue
/description
260 Netfilter
(IPv4
) module for user-space packet queueing
265 $(eval
$(call KernelPackage
,ipt-queue
))
268 define KernelPackage
/ipt-ulog
270 TITLE
:=Module for user-space packet logging
271 KCONFIG
:=$(KCONFIG_IPT_ULOG
)
272 FILES
:=$(foreach mod
,$(IPT_ULOG-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
273 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_ULOG-m
)))
274 DEPENDS
:= kmod-ipt-core
277 define KernelPackage
/ipt-ulog
/description
278 Netfilter
(IPv4
) module for user-space packet logging
283 $(eval
$(call KernelPackage
,ipt-ulog
))
286 define KernelPackage
/ipt-iprange
288 TITLE
:=Module for matching ip ranges
289 FILES
:=$(foreach mod
,$(IPT_IPRANGE-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
290 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_IPRANGE-m
)))
291 DEPENDS
:= kmod-ipt-core
294 define KernelPackage
/ipt-iprange
/description
295 Netfilter
(IPv4
) module for matching ip ranges
300 $(eval
$(call KernelPackage
,ipt-iprange
))
303 define KernelPackage
/ipt-ipset
306 KCONFIG
:=$(KCONFIG_IPT_IPSET
)
307 FILES
:=$(foreach mod
,$(IPT_IPSET-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
308 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_IPSET-m
)))
309 DEPENDS
:= kmod-ipt-core
312 define KernelPackage
/ipt-ipset
/description
313 Netfilter kernel modules for ipset
319 - ip_set_ipportiphash
320 - ip_set_ipportnethash
331 $(eval
$(call KernelPackage
,ipt-ipset
))
334 define KernelPackage
/ipt-extra
337 KCONFIG
:=$(KCONFIG_IPT_EXTRA
)
338 FILES
:=$(foreach mod
,$(IPT_EXTRA-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
339 AUTOLOAD
:=$(call AutoLoad
,45,$(notdir $(IPT_EXTRA-m
)))
340 DEPENDS
:= kmod-ipt-core
343 define KernelPackage
/ipt-extra
/description
344 Other Netfilter
(IPv4
) kernel modules
354 $(eval
$(call KernelPackage
,ipt-extra
))
357 define KernelPackage
/ip6tables
361 KCONFIG
:=$(KCONFIG_IPT_IPV6
)
362 FILES
:=$(foreach mod
,$(IPT_IPV6-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
363 AUTOLOAD
:=$(call AutoLoad
,49,$(notdir $(IPT_IPV6-m
)))
366 define KernelPackage
/ip6tables
/description
367 Netfilter IPv6 firewalling support
370 $(eval
$(call KernelPackage
,ip6tables
))
373 define KernelPackage
/arptables
375 TITLE
:=ARP firewalling modules
376 FILES
:=$(LINUX_DIR
)/net
/ipv4
/netfilter
/arp
*.
$(LINUX_KMOD_SUFFIX
)
377 KCONFIG
:=CONFIG_IP_NF_ARPTABLES \
378 CONFIG_IP_NF_ARPFILTER \
379 CONFIG_IP_NF_ARP_MANGLE
380 AUTOLOAD
:=$(call AutoLoad
,49,$(notdir $(patsubst %.
$(LINUX_KMOD_SUFFIX
),%,$(wildcard $(LINUX_DIR
)/net
/ipv4
/netfilter
/arp
*.
$(LINUX_KMOD_SUFFIX
)))))
383 define KernelPackage
/arptables
/description
384 Kernel modules for ARP firewalling
387 $(eval
$(call KernelPackage
,arptables
))
389 define KernelPackage
/ebtables
391 TITLE
:=Bridge firewalling modules
393 FILES
:=$(foreach mod
,$(EBTABLES-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
394 KCONFIG
:=CONFIG_BRIDGE_NETFILTER
=y \
396 AUTOLOAD
:=$(call AutoLoad
,49,$(notdir $(EBTABLES-m
)))
399 define KernelPackage
/ebtables
/description
400 ebtables is a general
, extensible frame
/packet identification
401 framework. It provides you to do Ethernet
402 filtering
/NAT
/brouting on the Ethernet bridge.
405 $(eval
$(call KernelPackage
,ebtables
))
407 define KernelPackage
/ebtables-ipv4
409 TITLE
:=ebtables
: IPv4 support
410 DEPENDS
:= kmod-ebtables
411 FILES
:=$(foreach mod
,$(EBTABLES_IP4-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
412 KCONFIG
:=$(KCONFIG_EBTABLES_IP4
)
413 AUTOLOAD
:=$(call AutoLoad
,49,$(notdir $(EBTABLES_IP4-m
)))
416 define KernelPackage
/ebtables-ipv4
/description
417 This option adds the IPv4 support to ebtables
, which allows basic
418 IPv4 header field filtering
, ARP filtering
as well
as SNAT
, DNAT targets.
421 $(eval
$(call KernelPackage
,ebtables-ipv4
))
423 define KernelPackage
/ebtables-ipv6
425 TITLE
:=ebtables
: IPv6 support
426 DEPENDS
:= kmod-ebtables
427 FILES
:=$(foreach mod
,$(EBTABLES_IP6-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
428 KCONFIG
:=$(KCONFIG_EBTABLES_IP6
)
429 AUTOLOAD
:=$(call AutoLoad
,49,$(notdir $(EBTABLES_IP6-m
)))
432 define KernelPackage
/ebtables-ipv6
/description
433 This option adds the IPv6 support to ebtables
, which allows basic
434 IPv6 header field filtering and target support.
437 $(eval
$(call KernelPackage
,ebtables-ipv6
))
439 define KernelPackage
/ebtables-watchers
441 TITLE
:=ebtables
: watchers support
442 DEPENDS
:= kmod-ebtables
443 FILES
:=$(foreach mod
,$(EBTABLES_WATCHERS-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
444 KCONFIG
:=$(KCONFIG_EBTABLES_WATCHERS
)
445 AUTOLOAD
:=$(call AutoLoad
,49,$(notdir $(EBTABLES_WATCHERS-m
)))
448 define KernelPackage
/ebtables-watchers
/description
449 This option adds the log watchers
, that you can use in any rule
450 in any ebtables table.
453 $(eval
$(call KernelPackage
,ebtables-watchers
))
455 define KernelPackage
/nfnetlink
457 TITLE
:=Netlink-based userspace interface
458 DEPENDS
:=@LINUX_2_6
+kmod-ipt-core
459 FILES
:=$(LINUX_DIR
)/net
/netfilter
/nfnetlink.
$(LINUX_KMOD_SUFFIX
)
460 KCONFIG
:=CONFIG_NETFILTER_NETLINK
461 AUTOLOAD
:=$(call AutoLoad
,48,nfnetlink
)
464 define KernelPackage
/nfnetlink
/description
465 Kernel modules support for a netlink-based userspace interface
468 $(eval
$(call KernelPackage
,nfnetlink
))
471 define KernelPackage
/nfnetlink-log
473 TITLE
:=Netfilter LOG over NFNETLINK interface
474 DEPENDS
:=@LINUX_2_6
+kmod-nfnetlink
475 FILES
:=$(LINUX_DIR
)/net
/netfilter
/nfnetlink_log.
$(LINUX_KMOD_SUFFIX
)
476 KCONFIG
:=CONFIG_NETFILTER_NETLINK_LOG
477 AUTOLOAD
:=$(call AutoLoad
,48,nfnetlink_log
)
480 define KernelPackage
/nfnetlink-log
/description
481 Kernel modules support for logging packets via NFNETLINK
484 $(eval
$(call KernelPackage
,nfnetlink-log
))
487 define KernelPackage
/nfnetlink-queue
489 TITLE
:=Netfilter QUEUE over NFNETLINK interface
490 DEPENDS
:=@LINUX_2_6
+kmod-nfnetlink
491 FILES
:=$(LINUX_DIR
)/net
/netfilter
/nfnetlink_queue.
$(LINUX_KMOD_SUFFIX
)
492 KCONFIG
:=CONFIG_NETFILTER_NETLINK_QUEUE
493 AUTOLOAD
:=$(call AutoLoad
,48,nfnetlink_queue
)
496 define KernelPackage
/nfnetlink-queue
/description
497 Kernel modules support for queueing packets via NFNETLINK
500 $(eval
$(call KernelPackage
,nfnetlink-queue
))
503 define KernelPackage
/nf-conntrack-netlink
505 TITLE
:=Connection tracking netlink interface
506 DEPENDS
:=@LINUX_2_6
+kmod-nfnetlink
+kmod-ipt-conntrack
507 FILES
:=$(LINUX_DIR
)/net
/netfilter
/nf_conntrack_netlink.
$(LINUX_KMOD_SUFFIX
)
508 KCONFIG
:=CONFIG_NF_CT_NETLINK
509 AUTOLOAD
:=$(call AutoLoad
,49,nf_conntrack_netlink
)
512 define KernelPackage
/nf-conntrack-netlink
/description
513 Kernel modules support for a netlink-based connection tracking
517 $(eval
$(call KernelPackage
,nf-conntrack-netlink
))