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