5f7efe61f527373d70ca9dc54d53532f135ec9b7
[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_dscp/DSCP \\\
47         - ipt_ecn/ECN \\\
48         - ipt_length \\\
49         - ipt_mac \\\
50         - ipt_tos/TOS \\\
51         - ipt_tcpmms \\\
52         - ipt_ttl/TTL \\\
53         - ipt_unclean
54   FILES:=$(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
55   SUBMENU:=$(NFMENU)
56   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPOPT-m)))
57 endef
58 $(eval $(call KernelPackage,ipt-ipopt))
59
60 define KernelPackage/ipt-ipsec
61   TITLE:=Modules for matching IPSec packets
62   DESCRIPTION:=\
63         Netfilter (IPv4) modules for matching IPSec packets \\\
64         \\\
65         Includes: \\\
66         - ipt_ah \\\
67         - ipt_esp
68   FILES:=$(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
69   SUBMENU:=$(NFMENU)
70   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSEC-m)))
71 endef
72 $(eval $(call KernelPackage,ipt-ipsec))
73
74 define KernelPackage/ipt-nat
75   TITLE:=Modules for extra NAT targets
76   DESCRIPTION:=\
77         Netfilter (IPv4) modules for extra NAT targets \\\
78         \\\
79         Includes: \\\
80         - ipt_REDIRECT \\\
81         - ipt_NETMAP
82   FILES:=$(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
83   SUBMENU:=$(NFMENU)
84   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT-m)))
85 endef
86 $(eval $(call KernelPackage,ipt-nat))
87
88 define KernelPackage/ipt-nathelper
89   TITLE:=Default Conntrack and NAT helpers
90   DESCRIPTION:=\
91         Default Netfilter (IPv4) Conntrack and NAT helpers \\\
92         \\\
93         Includes: \\\
94         - ip_conntrack_ftp \\\
95         - ip_nat_ftp \\\
96         - ip_conntrack_irc \\\
97         - ip_nat_irc \\\
98         - ip_conntrack_tftp
99   FILES:=$(foreach mod,$(IPT_NAT_DEFAULT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
100   SUBMENU:=$(NFMENU)
101   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_DEFAULT-m)))
102 endef
103 $(eval $(call KernelPackage,ipt-nathelper))
104
105 define KernelPackage/ipt-nathelper-extra
106   TITLE:=Extra Conntrack and NAT helpers
107   DESCRIPTION:=\
108         Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
109         \\\
110         Includes: \\\
111         - ip_conntrack_amanda \\\
112         - ip_conntrack_proto_gre \\\
113         - ip_nat_proto_gre \\\
114         - ip_conntrack_pptp \\\
115         - ip_nat_pptp \\\
116         - ip_conntrack_sip \\\
117         - ip_nat_sip \\\
118         - ip_nat_snmp_basic
119   FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
120   SUBMENU:=$(NFMENU)
121   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_EXTRA-m)))
122 endef
123 $(eval $(call KernelPackage,ipt-nathelper-extra))
124
125 define KernelPackage/ipt-imq
126   TITLE:=Intermediate Queueing support
127   DESCRIPTION:=\
128         Kernel support for Intermediate Queueing devices
129   KCONFIG:=$(CONFIG_IP_NF_TARGET_IMQ)
130   FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
131   SUBMENU:=$(NFMENU)
132   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)))))
133 endef
134 $(eval $(call KernelPackage,ipt-imq))
135
136
137 define KernelPackage/ipt-queue
138   TITLE:=Module for user-space packet queueing
139   DESCRIPTION:=\
140         Netfilter (IPv4) module for user-space packet queueing \\\
141         \\\
142         Includes: \\\
143         - ipt_QUEUE
144   FILES:=$(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
145   SUBMENU:=$(NFMENU)
146   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_QUEUE-m)))
147 endef
148 $(eval $(call KernelPackage,ipt-queue))
149
150 define KernelPackage/ipt-ulog
151   TITLE:=Module for user-space packet logging
152   DESCRIPTION:=\
153         Netfilter (IPv4) module for user-space packet logging \\\
154         \\\
155         Includes: \\\
156         - ipt_ULOG
157   FILES:=$(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
158   SUBMENU:=$(NFMENU)
159   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_ULOG-m)))
160 endef
161 $(eval $(call KernelPackage,ipt-ulog))
162
163 define KernelPackage/ipt-extra
164   TITLE:=Extra modules
165   DESCRIPTION:=\
166         Other Netfilter (IPv4) kernel modules\\\
167         Includes: \\\
168         - ipt_limit \\\
169         - ipt_owner \\\
170         - ipt_physdev \\\
171         - ipt_pkttype \\\
172         - ipt_recent
173   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
174   SUBMENU:=$(NFMENU)
175   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
176 endef
177 $(eval $(call KernelPackage,ipt-extra))
178
179 define KernelPackage/ip6tables
180   TITLE:=IPv6 modules
181   DESCRIPTION:=\
182         Netfilter IPv6 firewalling support
183   KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
184   FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
185   SUBMENU:=$(NFMENU)
186   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)))))
187 endef
188 $(eval $(call KernelPackage,ip6tables))
189
190
191 define KernelPackage/arptables
192   TITLE:=ARP firewalling modules
193   DESCRIPTION:=\
194         Kernel modules for ARP firewalling
195   FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
196   KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
197   SUBMENU:=$(NFMENU)
198   AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
199 endef
200 $(eval $(call KernelPackage,arptables))
201
202
203 define KernelPackage/ebtables
204   TITLE:=Bridge firewalling modules
205   DESCRIPTION:=\
206         Kernel modules for Ethernet Bridge firewalling
207   FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
208   KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
209   SUBMENU:=$(NFMENU)
210   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)))))
211 endef
212 $(eval $(call KernelPackage,ebtables))