Package tunnel6 as well (#1943)
[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     $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
18     $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
19   KCONFIG:=$(CONFIG_ATM)
20   SUBMENU:=$(NSMENU)
21   AUTOLOAD:=$(call AutoLoad,30,atm br2684)
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:=$(LINUX_DIR)/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 define KernelPackage/bonding
38   TITLE:=Ethernet bonding driver
39   DESCRIPTION:= \
40     Kernel module for NIC bonding.
41   DEPENDS:=@LINUX_2_6_X86
42   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
43   KCONFIG:=$(CONFIG_BONDING)
44   SUBMENU:=$(NSMENU)
45   AUTOLOAD:=$(call AutoLoad,40,bonding)
46 endef
47 $(eval $(call KernelPackage,bonding))
48
49 define KernelPackage/ipip
50   TITLE:=IP in IP encapsulation support
51   DESCRIPTION:=\
52         Kernel modules for IP in IP encapsulation
53   KCONFIG:=$(CONFIG_NET_IPIP)
54   SUBMENU:=$(NSMENU)
55 endef
56 $(eval $(call KernelPackage,ipip))
57
58 define KernelPackage/ipip/2.4
59   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
60   AUTOLOAD:=$(call AutoLoad,30,ipip)
61 endef
62
63 define KernelPackage/ipip/2.6
64   FILES:= \
65         $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
66         $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
67   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
68 endef
69
70
71 define KernelPackage/ipsec
72   TITLE:=IPsec related modules (IPv4 and IPv6)
73   DESCRIPTION:=\
74         Kernel modules for IPsec support in both IPv4 and IPv6.\\\
75         Includes:\\\
76         - af_key\\\
77         - xfrm_user
78   SUBMENU:=$(NSMENU)
79   DEPENDS:=@LINUX_2_6
80   KCONFIG:=$(CONFIG_NET_KEY)
81   FILES:= \
82         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
83         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
84 endef
85 $(eval $(call KernelPackage,ipsec))
86
87 define KernelPackage/ipsec4
88   TITLE:=IPsec related modules (IPv4)
89   DESCRIPTION:=\
90         Kernel modules for IPsec support in IPv4.\\\
91         Includes:\\\
92         - ah4\\\
93         - esp4\\\
94         - ipcomp\\\
95         - xfrm4_tunnel
96   SUBMENU:=$(NSMENU)
97   KCONFIG:=$(CONFIG_INET_AH)
98   DEPENDS:=kmod-ipsec
99   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
100         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
101   )
102 endef
103 $(eval $(call KernelPackage,ipsec4))
104
105 define KernelPackage/ipsec6
106   TITLE:=IPsec related modules (IPv6)
107   DESCRIPTION:=\
108         Kernel modules for IPsec support in IPv6.\\\
109         Includes:\\\
110         - ah6\\\
111         - esp6\\\
112         - ipcomp6\\\
113         - xfrm6_tunnel\\\
114         - tunnel6
115   SUBMENU:=$(NSMENU)
116   KCONFIG:=$(CONFIG_INET6_AH)
117   DEPENDS:=kmod-ipsec
118   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
119         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
120   )
121 endef
122 $(eval $(call KernelPackage,ipsec6))
123
124
125 define KernelPackage/ipv6
126   TITLE:=IPv6 support
127   DESCRIPTION:=\
128         Kernel modules for IPv6 support
129   KCONFIG:=$(CONFIG_IPV6)
130   SUBMENU:=$(NSMENU)
131   AUTOLOAD:=$(call AutoLoad,20,ipv6)
132 endef
133 define KernelPackage/ipv6/2.4
134   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
135 endef
136 define KernelPackage/ipv6/2.6
137   FILES:= \
138         $(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX) \
139         $(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
140 endef
141 $(eval $(call KernelPackage,ipv6))
142
143
144 define KernelPackage/gre
145   TITLE:=GRE support
146   DESCRIPTION:=\
147         Generic Routing Encapsulation support
148   KCONFIG=$(CONFIG_NET_IPGRE)
149   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
150   SUBMENU:=$(NSMENU)
151 endef
152 $(eval $(call KernelPackage,gre))
153
154
155 define KernelPackage/tun
156   TITLE:=Universal TUN/TAP driver
157   DESCRIPTION:=\
158         Kernel support for the TUN/TAP tunneling device
159   KCONFIG:=$(CONFIG_TUN)
160   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
161   SUBMENU:=$(NSMENU)
162   AUTOLOAD:=$(call AutoLoad,30,tun)
163 endef
164 $(eval $(call KernelPackage,tun))
165
166
167 define KernelPackage/ppp
168   TITLE:=PPP modules
169   DESCRIPTION:=\
170         Kernel modules for PPP support
171   KCONFIG:=$(CONFIG_PPP)
172   SUBMENU:=$(NSMENU)
173 endef
174
175 define KernelPackage/ppp/2.6
176   FILES:= \
177         $(LINUX_DIR)/drivers/net/ppp_async.ko \
178         $(LINUX_DIR)/drivers/net/ppp_generic.ko \
179         $(LINUX_DIR)/drivers/net/slhc.ko \
180         $(LINUX_DIR)/lib/crc-ccitt.ko
181   AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
182 endef
183
184 define KernelPackage/ppp/2.4
185   FILES:= \
186         $(LINUX_DIR)/drivers/net/ppp_async.o \
187         $(LINUX_DIR)/drivers/net/ppp_generic.o \
188         $(LINUX_DIR)/drivers/net/slhc.o
189   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
190 endef
191 $(eval $(call KernelPackage,ppp))
192
193
194 define KernelPackage/pppoe
195   TITLE:=PPPoE support
196   DESCRIPTION:=\
197         Kernel modules for PPPoE (PPP over Ethernet) support
198   DEPENDS:=kmod-ppp
199   KCONFIG:=$(CONFIG_PPPOE)
200   FILES:= \
201         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
202         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
203   SUBMENU:=$(NSMENU)
204 endef
205 $(eval $(call KernelPackage,pppoe))
206
207
208 define KernelPackage/pppoa
209   TITLE:=PPPoA support
210   DESCRIPTION:=\
211         Kernel modules for PPPoA (PPP over ATM) support
212   DEPENDS:=kmod-ppp
213   KCONFIG:=$(CONFIG_PPPOATM)
214   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
215   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
216   SUBMENU:=$(NSMENU)
217 endef
218 $(eval $(call KernelPackage,pppoa))
219
220
221 define KernelPackage/mppe
222   TITLE:=Microsoft PPP compression/encryption
223   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
224   DEPENDS:=kmod-ppp
225   SUBMENU:=$(NSMENU)
226 endef
227
228 define KernelPackage/mppe/2.4
229   KCONFIG:=$(CONFIG_PPP_MPPE_MPPC)
230   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
231   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
232 endef
233
234 define KernelPackage/mppe/2.6
235   KCONFIG:=$(CONFIG_PPP_MPPE)
236   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
237   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
238 endef
239 $(eval $(call KernelPackage,mppe))
240
241
242 define KernelPackage/sched
243   TITLE:=Traffic schedulers
244   DESCRIPTION:=\
245         Kernel schedulers for IP traffic
246   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
247   SUBMENU:=$(NSMENU)
248 endef
249 $(eval $(call KernelPackage,sched))
250
251
252
253 define KernelPackage/ax25
254   TITLE:=AX25 support
255   DESCRIPTION:=Kernel modules for AX25 support
256   SUBMENU:=$(NSMENU)
257   KCONFIG:=$(CONFIG_AX25)
258   FILES:= \
259         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
260         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
261   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
262 endef
263 $(eval $(call KernelPackage,ax25))
264
265
266 define KernelPackage/mp-alg
267   TITLE:=ECMP caching algorithms
268   DESCRIPTION:= \
269         Kernel modules that provide several different algorithms for multipath \\\
270         route selection from the route cache. The iproute "mpath" argument allows \\\
271         specifying which algorithm to use for routes. \\\
272         quagga (at least <=0.99.6) requires a multipath patch to support this \\\
273         cached mp route feature.
274   SUBMENU:=$(NSMENU)
275   KCONFIG:= \
276         $(CONFIG_IP_ROUTE_MULTIPATH_RR) \
277         $(CONFIG_IP_ROUTE_MULTIPATH_RANDOM) \
278         $(CONFIG_IP_ROUTE_MULTIPATH_WRANDOM) \
279         $(CONFIG_IP_ROUTE_MULTIPATH_DRR)
280   FILES:=$(LINUX_DIR)/net/ipv4/multipath_*.$(LINUX_KMOD_SUFFIX)
281   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
282 endef
283 $(eval $(call KernelPackage,mp-alg))
284
285
286
287 NDMENU:=Network Devices
288
289 define KernelPackage/natsemi
290   TITLE:=National Semiconductor DP8381x series 
291   DESCRIPTION:=\
292         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
293         adapters.
294   FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
295   KCONFIG:=$(CONFIG_NATSEMI)
296   DEPENDS:=@LINUX_2_6_X86
297   SUBMENU:=$(NDMENU)
298   AUTOLOAD:=$(call AutoLoad,20,natsemi)
299 endef
300 $(eval $(call KernelPackage,natsemi))
301
302 define KernelPackage/sis900
303   TITLE:=SiS 900 Ethernet support
304   DESCRIPTION:=\
305         Kernel modules for Sis 900 Ethernet adapters.
306   FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
307   KCONFIG:=$(CONFIG_SIS900)
308   DEPENDS:=@LINUX_2_6_X86
309   SUBMENU:=$(NDMENU)
310   AUTOLOAD:=$(call AutoLoad,50,sis900)
311 endef
312 $(eval $(call KernelPackage,sis900))
313
314 define KernelPackage/via-rhine
315   TITLE:=Via Rhine ethernet support
316   DESCRIPTION:=\
317         Kernel modules for Via Rhine Ethernet chipsets.
318   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
319   KCONFIG:=$(CONFIG_VIA_RHINE)
320   DEPENDS:=@LINUX_2_6_X86
321   SUBMENU:=$(NDMENU)
322   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
323 endef
324 $(eval $(call KernelPackage,via-rhine))
325
326 define KernelPackage/8139too
327   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
328   DESCRIPTION:=\
329         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
330   FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
331   KCONFIG:=$(CONFIG_8139TOO)
332   DEPENDS:=@LINUX_2_6_X86
333   SUBMENU:=$(NDMENU)
334   AUTOLOAD:=$(call AutoLoad,50,8139too)
335 endef
336 $(eval $(call KernelPackage,8139too))
337
338 define KernelPackage/r8169
339   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
340   DESCRIPTION:=\
341         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
342   FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
343   KCONFIG:=$(CONFIG_R8169)
344   DEPENDS:=@LINUX_2_6_X86 
345   SUBMENU:=$(NDMENU)
346   AUTOLOAD:=$(call AutoLoad,50,r8169)
347 endef
348 $(eval $(call KernelPackage,r8169))
349
350 define KernelPackage/ne2k-pci
351   TITLE:=ne2k-pci Ethernet Adapter kernel support
352   DESCRIPTION:=\
353         ne2k-pci Ethernet Adapter kernel support.
354   FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
355         $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
356   KCONFIG:=$(CONFIG_NE2K_PCI)
357   DEPENDS:=@LINUX_2_6_X86
358   SUBMENU:=$(NDMENU)
359   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
360 endef
361 $(eval $(call KernelPackage,ne2k-pci))
362
363 define KernelPackage/ixp4xx-npe
364   TITLE:=Intel(R) IXP4xx ethernet support
365   DESCRIPTION:=\
366         Kernel modules for Intel(R) IXP4xx onboard ethernet.
367   FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
368         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
369         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
370   KCONFIG:=$(CONFIG_IXP4XX_MAC)
371   DEPENDS:=@LINUX_2_6_IXP4XX
372   SUBMENU:=$(NDMENU)
373   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
374 endef
375 $(eval $(call KernelPackage,ixp4xx-npe))
376
377 define KernelPackage/e100
378   TITLE:=Intel(R) PRO/100+ cards kernel support
379   DESCRIPTION:=\
380         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
381   FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
382   KCONFIG:=$(CONFIG_E100)
383   DEPENDS:=@LINUX_2_6_X86
384   SUBMENU:=$(NDMENU)
385   AUTOLOAD:=$(call AutoLoad,50,e100)
386 endef
387 $(eval $(call KernelPackage,e100))
388
389 define KernelPackage/e1000
390   TITLE:=Intel(R) PRO/1000 cards kernel support
391   DESCRIPTION:=\
392         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
393   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
394   KCONFIG:=$(CONFIG_E1000)
395   DEPENDS:=@LINUX_2_6_X86
396   SUBMENU:=$(NDMENU)
397   AUTOLOAD:=$(call AutoLoad,50,e1000)
398 endef
399 $(eval $(call KernelPackage,e1000))
400
401 define KernelPackage/3c59x
402   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
403   DESCRIPTION:=\
404         This option enables driver support for a large number of 10mbps and \\\
405         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
406         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
407         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
408         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
409         - "Tornado"   (3c905)                                  PCI  \\\
410         - "Hurricane" (3c555/3cSOHO)                           PCI 
411   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
412   KCONFIG:=$(CONFIG_3C59X)
413   DEPENDS:=@LINUX_2_6_X86
414   SUBMENU:=$(NDMENU)
415   AUTOLOAD:=$(call AutoLoad,50,3c59x)
416 endef
417 $(eval $(call KernelPackage,3c59x))