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