enable native ipsec modules on 2.6, add ipsec kernel modules
[openwrt.git] / package / kernel / modules / network.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 NSMENU:=Network Support
10
11 define KernelPackage/atm
12   TITLE:=ATM support
13   DEPENDS:=@ATM_SUPPORT
14   DESCRIPTION:= \
15     Kernel modules for ATM support
16   FILES:= \
17     $(MODULES_DIR)/kernel/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
18     $(MODULES_DIR)/kernel/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
19   KCONFIG:=$(CONFIG_ATM)
20   SUBMENU:=$(NSMENU)
21   AUTOLOAD:=$(call AutoLoad,30,atm)
22 endef
23 $(eval $(call KernelPackage,atm))
24
25 define KernelPackage/atmtcp
26   TITLE:=ATM over TCP
27   DESCRIPTION:= \
28     Kernel module for ATM over TCP support
29   DEPENDS:=@LINUX_2_6 kmod-atm
30   FILES:=$(MODULES_DIR)/kernel/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
31   KCONFIG:=$(CONFIG_ATM_TCP)
32   SUBMENU:=$(NSMENU)
33   AUTOLOAD:=$(call AutoLoad,40,atmtcp)
34 endef
35 $(eval $(call KernelPackage,atmtcp))
36
37
38 define KernelPackage/ipip
39   TITLE:=IP in IP encapsulation support
40   DESCRIPTION:=\
41         Kernel modules for IP in IP encapsulation
42   KCONFIG:=$(CONFIG_NET_IPIP)
43   SUBMENU:=$(NSMENU)
44 endef
45 $(eval $(call KernelPackage,ipip))
46
47 define KernelPackage/ipip/2.4
48   FILES:=$(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
49   AUTOLOAD:=$(call AutoLoad,30,ipip)
50 endef
51
52 define KernelPackage/ipip/2.6
53   FILES:= \
54         $(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
55         $(MODULES_DIR)/kernel/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
56   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
57 endef
58
59
60 define KernelPackage/ipsec
61   TITLE:=IPsec related modules (IPv4 and IPv6)
62   DESCRIPTION:=\
63         Kernel modules for IPsec support in both IPv4 and IPv6.\\\
64         Includes:\\\
65         - af_key\\\
66         - xfrm_user
67   SUBMENU:=$(NSMENU)
68   DEPENDS:=@LINUX_2_6
69   FILES:=\
70         $(MODULES_DIR)/kernel/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
71         $(MODULES_DIR)/kernel/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
72 endef
73 $(eval $(call KernelPackage,ipsec))
74
75 define KernelPackage/ipsec4
76   TITLE:=IPsec related modules (IPv4)
77   DESCRIPTION:=\
78         Kernel modules for IPsec support in IPv4.\\\
79         Includes:\\\
80         - ah4\\\
81         - esp4\\\
82         - ipcomp\\\
83         - xfrm4_tunnel
84   SUBMENU:=$(NSMENU)
85   DEPENDS:=kmod-ipsec
86   FILES:=\
87         $(MODULES_DIR)/kernel/net/ipv4/{ah4,esp4,ipcomp,xfrm4_tunnel}.$(LINUX_KMOD_SUFFIX)
88 endef
89 $(eval $(call KernelPackage,ipsec4))
90
91 define KernelPackage/ipsec6
92   TITLE:=IPsec related modules (IPv6)
93   DESCRIPTION:=\
94         Kernel modules for IPsec support in IPv6.\\\
95         Includes:\\\
96         - ah6\\\
97         - esp6\\\
98         - ipcomp6\\\
99         - xfrm6_tunnel
100   SUBMENU:=$(NSMENU)
101   DEPENDS:=kmod-ipsec
102   FILES:=\
103         $(MODULES_DIR)/kernel/net/ipv6/{ah6,esp6,ipcomp6,xfrm6_tunnel}.$(LINUX_KMOD_SUFFIX)
104 endef
105 $(eval $(call KernelPackage,ipsec6))
106
107
108 define KernelPackage/ipv6
109   TITLE:=IPv6 support
110   DESCRIPTION:=\
111         Kernel modules for IPv6 support
112   KCONFIG:=$(CONFIG_IPV6)
113   FILES:=$(MODULES_DIR)/kernel/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
114   SUBMENU:=$(NSMENU)
115 endef
116 $(eval $(call KernelPackage,ipv6))
117
118
119 define KernelPackage/gre
120   TITLE:=GRE support
121   DESCRIPTION:=\
122         Generic Routing Encapsulation support
123   KCONFIG=$(CONFIG_NET_IPGRE)
124   FILES=$(MODULES_DIR)/kernel/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
125   SUBMENU:=$(NSMENU)
126 endef
127 $(eval $(call KernelPackage,gre))
128
129
130 define KernelPackage/tun
131   TITLE:=Universal TUN/TAP driver
132   DESCRIPTION:=\
133         Kernel support for the TUN/TAP tunneling device
134   KCONFIG:=$(CONFIG_TUN)
135   FILES:=$(MODULES_DIR)/kernel/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
136   SUBMENU:=$(NSMENU)
137   AUTOLOAD:=$(call AutoLoad,30,tun)
138 endef
139 $(eval $(call KernelPackage,tun))
140
141
142 define KernelPackage/ppp
143   TITLE:=PPP modules
144   DESCRIPTION:=\
145         Kernel modules for PPP support
146   KCONFIG:=$(CONFIG_PPP)
147   SUBMENU:=$(NSMENU)
148 endef
149
150 define KernelPackage/ppp/2.6
151   FILES:= \
152         $(MODULES_DIR)/kernel/drivers/net/ppp_async.ko \
153         $(MODULES_DIR)/kernel/drivers/net/ppp_generic.ko \
154         $(MODULES_DIR)/kernel/drivers/net/slhc.ko \
155         $(MODULES_DIR)/kernel/lib/crc-ccitt.ko
156   AUTOLOAD:=$(call AutoLoad,30,crc-ccitt)
157 endef
158
159 define KernelPackage/ppp/2.4
160   FILES:= \
161         $(MODULES_DIR)/kernel/drivers/net/ppp_async.o \
162         $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o \
163         $(MODULES_DIR)/kernel/drivers/net/slhc.o
164 endef
165 $(eval $(call KernelPackage,ppp))
166
167
168 define KernelPackage/pppoe
169   TITLE:=PPPoE support
170   DESCRIPTION:=\
171         Kernel modules for PPPoE (PPP over Ethernet) support
172   DEPENDS:=kmod-ppp
173   KCONFIG:=$(CONFIG_PPPOE)
174   FILES:= \
175         $(MODULES_DIR)/kernel/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
176         $(MODULES_DIR)/kernel/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
177   SUBMENU:=$(NSMENU)
178 endef
179 $(eval $(call KernelPackage,pppoe))
180
181
182 define KernelPackage/pppoa
183   TITLE:=PPPoA support
184   DESCRIPTION:=\
185         Kernel modules for PPPoA (PPP over ATM) support
186   DEPENDS:=kmod-ppp
187   KCONFIG:=$(CONFIG_PPPOATM)
188   FILES:=$(MODULES_DIR)/kernel/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
189   SUBMENU:=$(NSMENU)
190 endef
191 $(eval $(call KernelPackage,pppoa))
192
193
194 define KernelPackage/mppe
195   TITLE:=Microsoft PPP compression/encryption
196   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
197   DEPENDS:=kmod-ppp
198   KCONFIG:=$(CONFIG_PPP_MPPE)
199   SUBMENU:=$(NSMENU)
200 endef
201
202 define KernelPackage/mppe/2.4
203   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
204 endef
205
206 define KernelPackage/mppe/2.6
207   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
208 endef
209 $(eval $(call KernelPackage,mppe))
210
211
212 define KernelPackage/sched
213   TITLE:=Traffic schedulers
214   DESCRIPTION:=\
215         Kernel schedulers for IP traffic
216   FILES:=$(MODULES_DIR)/kernel/net/sched/*.$(LINUX_KMOD_SUFFIX)
217   SUBMENU:=$(NSMENU)
218 endef
219 $(eval $(call KernelPackage,sched))
220
221
222 define KernelPackage/ieee80211softmac
223   TITLE:=802.11 Networking stack
224   DESCRIPTION:=\\\
225         \\\
226         Includes: \\\
227         - ieee80211_crypt \\\
228         - ieee80211 \\\
229         - ieee80211_crypt_wep \\\
230         - ieee80211_crypt_tkip \\\
231         - ieee80211_crytp_ccmp \\\
232         - ieee80211softmac
233   DEPENDS:=@LINUX_2_6
234   KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
235   FILES:= \
236         $(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) \
237         $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
238   AUTOLOAD:=$(call AutoLoad,10, \
239         ieee80211_crypt \
240         ieee80211 \
241         ieee80211_crypt_wep \
242         ieee80211_crypt_tkip \
243         ieee80211_crypt_ccmp \
244         ieee80211softmac \
245   )
246   SUBMENU:=$(NSMENU)
247 endef
248 $(eval $(call KernelPackage,ieee80211softmac))
249
250
251
252 NDMENU:=Network Devices
253
254 define KernelPackage/natsemi
255   TITLE:=National Semiconductor DP8381x series 
256   DESCRIPTION:=\
257         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
258         adapters.
259   FILES:=$(MODULES_DIR)/kernel/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
260   KCONFIG:=$(CONFIG_NATSEMI)
261   DEPENDS:=@LINUX_2_6_X86
262   DEFAULT:=y
263   SUBMENU:=$(NDMENU)
264   AUTOLOAD:=$(call AutoLoad,20,natsemi)
265 endef
266 $(eval $(call KernelPackage,natsemi))
267
268 define KernelPackage/sis900
269   TITLE:=SiS 900 Ethernet support
270   DESCRIPTION:=\
271         Kernel modules for Sis 900 Ethernet adapters.
272   FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
273   KCONFIG:=$(CONFIG_SIS900)
274   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
275   SUBMENU:=$(NDMENU)
276 endef
277 $(eval $(call KernelPackage,sis900))
278
279 define KernelPackage/via-rhine
280   TITLE:=Via Rhine ethernet support
281   DESCRIPTION:=\
282         Kernel modules for Via Rhine Ethernet chipsets.
283   FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
284   KCONFIG:=$(CONFIG_VIA_RHINE)
285   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
286   SUBMENU:=$(NDMENU)
287 endef
288 $(eval $(call KernelPackage,via-rhine))
289
290 define KernelPackage/8139too
291   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
292   DESCRIPTION:=\
293         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
294   FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
295   KCONFIG:=$(CONFIG_8139TOO)
296   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
297   SUBMENU:=$(NDMENU)
298 endef
299 $(eval $(call KernelPackage,8139too))
300
301 define KernelPackage/e100
302   TITLE:=Intel(R) PRO/100+ cards kernel support
303   DESCRIPTION:=\
304         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
305   FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
306   KCONFIG:=$(CONFIG_E100)
307   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
308   SUBMENU:=$(NDMENU)
309 endef
310 $(eval $(call KernelPackage,e100))
311
312 define KernelPackage/3c59x
313   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
314   DESCRIPTION:=\
315         This option enables driver support for a large number of 10mbps and \\\
316         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
317         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
318         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
319         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
320         - "Tornado"   (3c905)                                  PCI  \\\
321         - "Hurricane" (3c555/3cSOHO)                           PCI 
322   FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
323   KCONFIG:=$(CONFIG_3C59X)
324   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
325   SUBMENU:=$(NDMENU)
326 endef
327 $(eval $(call KernelPackage,3c59x))