Add raw and NOTRACK targets (#1583)
[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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
132   SUBMENU:=$(NFMENU)
133   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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),$(MODULES_DIR)/kernel/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-extra
165   TITLE:=Extra modules
166   DESCRIPTION:=\
167         Other Netfilter (IPv4) kernel modules\\\
168         Includes: \\\
169         - ipt_limit \\\
170         - ipt_owner \\\
171         - ipt_physdev \\\
172         - ipt_pkttype \\\
173         - ipt_recent \\\
174         - iptable_raw \\\
175         - xt_NOTRACK 
176   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
177   SUBMENU:=$(NFMENU)
178   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
179 endef
180 $(eval $(call KernelPackage,ipt-extra))
181
182 define KernelPackage/ip6tables
183   TITLE:=IPv6 modules
184   DESCRIPTION:=\
185         Netfilter IPv6 firewalling support
186   KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
187   FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
188   SUBMENU:=$(NFMENU)
189   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6table_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6t_*.$(LINUX_KMOD_SUFFIX)))))
190 endef
191 $(eval $(call KernelPackage,ip6tables))
192
193
194 define KernelPackage/arptables
195   TITLE:=ARP firewalling modules
196   DESCRIPTION:=\
197         Kernel modules for ARP firewalling
198   FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
199   KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
200   SUBMENU:=$(NFMENU)
201   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
202 endef
203 $(eval $(call KernelPackage,arptables))
204
205
206 define KernelPackage/ebtables
207   TITLE:=Bridge firewalling modules
208   DESCRIPTION:=\
209         Kernel modules for Ethernet Bridge firewalling
210   FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
211   KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
212   SUBMENU:=$(NFMENU)
213   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,ebtables.ko $(wildcard $(MODULES_DIR)/kernel/net/bridge/netfilter/ebtable_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_*.$(LINUX_KMOD_SUFFIX)))))
214 endef
215 $(eval $(call KernelPackage,ebtables))