revert 8059, via-rhine is built in the kernel
[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
57 define KernelPackage/ipip/2.4
58   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
59   AUTOLOAD:=$(call AutoLoad,30,ipip)
60 endef
61
62 define KernelPackage/ipip/2.6
63   FILES:= \
64         $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
65         $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
66   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
67 endef
68 $(eval $(call KernelPackage,ipip))
69
70 define KernelPackage/ipsec
71   TITLE:=IPsec related modules (IPv4 and IPv6)
72   DESCRIPTION:=\
73         Kernel modules for IPsec support in both IPv4 and IPv6.\\\
74         Includes:\\\
75         - af_key\\\
76         - xfrm_user
77   SUBMENU:=$(NSMENU)
78   DEPENDS:=@LINUX_2_6
79   KCONFIG:=CONFIG_NET_KEY
80   FILES:= \
81         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
82         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
83 endef
84 $(eval $(call KernelPackage,ipsec))
85
86 define KernelPackage/ipsec4
87   TITLE:=IPsec related modules (IPv4)
88   DESCRIPTION:=\
89         Kernel modules for IPsec support in IPv4.\\\
90         Includes:\\\
91         - ah4\\\
92         - esp4\\\
93         - ipcomp\\\
94         - xfrm4_tunnel
95   SUBMENU:=$(NSMENU)
96   KCONFIG:=CONFIG_INET_AH
97   DEPENDS:=kmod-ipsec
98   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
99         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
100   )
101 endef
102 $(eval $(call KernelPackage,ipsec4))
103
104 define KernelPackage/ipsec6
105   TITLE:=IPsec related modules (IPv6)
106   DESCRIPTION:=\
107         Kernel modules for IPsec support in IPv6.\\\
108         Includes:\\\
109         - ah6\\\
110         - esp6\\\
111         - ipcomp6\\\
112         - xfrm6_tunnel\\\
113         - tunnel6
114   SUBMENU:=$(NSMENU)
115   KCONFIG:=CONFIG_INET6_AH
116   DEPENDS:=kmod-ipsec
117   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
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   KCONFIG:=CONFIG_PPP_MPPE_MPPC CONFIG_PPP_MPPE
225   SUBMENU:=$(NSMENU)
226 endef
227
228 define KernelPackage/mppe/2.4
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   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:=CONFIG_IP_ROUTE_MULTIPATH_RR CONFIG_IP_ROUTE_MULTIPATH_RANDOM CONFIG_IP_ROUTE_MULTIPATH_WRANDOM CONFIG_IP_ROUTE_MULTIPATH_DRR
274   FILES:=$(LINUX_DIR)/net/ipv4/multipath_*.$(LINUX_KMOD_SUFFIX)
275   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
276 endef
277 $(eval $(call KernelPackage,mp-alg))
278
279
280 NDMENU:=Network Devices
281
282 define KernelPackage/natsemi
283   TITLE:=National Semiconductor DP8381x series 
284   DESCRIPTION:=\
285         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
286         adapters.
287   FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
288   KCONFIG:=CONFIG_NATSEMI
289   DEPENDS:=@LINUX_2_6_X86
290   SUBMENU:=$(NDMENU)
291   AUTOLOAD:=$(call AutoLoad,20,natsemi)
292 endef
293 $(eval $(call KernelPackage,natsemi))
294
295 define KernelPackage/sis900
296   TITLE:=SiS 900 Ethernet support
297   DESCRIPTION:=\
298         Kernel modules for Sis 900 Ethernet adapters.
299   FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
300   KCONFIG:=CONFIG_SIS900
301   DEPENDS:=@LINUX_2_6_X86
302   SUBMENU:=$(NDMENU)
303   AUTOLOAD:=$(call AutoLoad,50,sis900)
304 endef
305 $(eval $(call KernelPackage,sis900))
306
307 define KernelPackage/via-rhine
308   TITLE:=Via Rhine ethernet support
309   DESCRIPTION:=\
310         Kernel modules for Via Rhine Ethernet chipsets.
311   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
312   KCONFIG:=CONFIG_VIA_RHINE
313   DEPENDS:=@LINUX_2_6_X86
314   SUBMENU:=$(NDMENU)
315   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
316 endef
317 $(eval $(call KernelPackage,via-rhine))
318
319 define KernelPackage/via-velocity
320   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
321   DESCRIPTION:=\
322         Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
323   FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
324   KCONFIG:=CONFIG_VIA_VELOCITY
325   DEPENDS:=@LINUX_2_6_IXP4XX
326   SUBMENU:=$(NDMENU)
327   AUTOLOAD:=$(call AutoLoad,50,via-velocity)
328 endef
329 $(eval $(call KernelPackage,via-velocity))
330
331 define KernelPackage/8139too
332   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
333   DESCRIPTION:=\
334         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
335   FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
336   KCONFIG:=CONFIG_8139TOO
337   DEPENDS:=@LINUX_2_6_X86
338   SUBMENU:=$(NDMENU)
339   AUTOLOAD:=$(call AutoLoad,50,8139too)
340 endef
341 $(eval $(call KernelPackage,8139too))
342
343 define KernelPackage/r8169
344   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
345   DESCRIPTION:=\
346         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
347   FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
348   KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
349   DEPENDS:=@LINUX_2_6_X86 
350   SUBMENU:=$(NDMENU)
351   AUTOLOAD:=$(call AutoLoad,50,r8169)
352 endef
353 $(eval $(call KernelPackage,r8169))
354
355 define KernelPackage/ne2k-pci
356   TITLE:=ne2k-pci Ethernet Adapter kernel support
357   DESCRIPTION:=\
358         ne2k-pci Ethernet Adapter kernel support.
359   FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
360         $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
361   KCONFIG:=CONFIG_NE2K_PCI
362   DEPENDS:=@LINUX_2_6_X86
363   SUBMENU:=$(NDMENU)
364   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
365 endef
366 $(eval $(call KernelPackage,ne2k-pci))
367
368 define KernelPackage/ixp4xx-npe
369   TITLE:=Intel(R) IXP4xx ethernet support
370   DESCRIPTION:=\
371         Kernel modules for Intel(R) IXP4xx onboard ethernet.
372   FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
373         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
374         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
375   KCONFIG:=CONFIG_IXP4XX_MAC
376   DEPENDS:=@LINUX_2_6_IXP4XX
377   SUBMENU:=$(NDMENU)
378   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
379 endef
380 $(eval $(call KernelPackage,ixp4xx-npe))
381
382 define KernelPackage/e100
383   TITLE:=Intel(R) PRO/100+ cards kernel support
384   DESCRIPTION:=\
385         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
386   FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
387   KCONFIG:=CONFIG_E100
388   DEPENDS:=@LINUX_2_6_X86
389   SUBMENU:=$(NDMENU)
390   AUTOLOAD:=$(call AutoLoad,50,e100)
391 endef
392 $(eval $(call KernelPackage,e100))
393
394 define KernelPackage/e1000
395   TITLE:=Intel(R) PRO/1000 cards kernel support
396   DESCRIPTION:=\
397         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
398   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
399   KCONFIG:=CONFIG_E1000
400   DEPENDS:=@LINUX_2_6_X86
401   SUBMENU:=$(NDMENU)
402   AUTOLOAD:=$(call AutoLoad,50,e1000)
403 endef
404 $(eval $(call KernelPackage,e1000))
405
406 define KernelPackage/3c59x
407   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
408   DESCRIPTION:=\
409         This option enables driver support for a large number of 10mbps and \\\
410         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
411         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
412         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
413         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
414         - "Tornado"   (3c905)                                  PCI  \\\
415         - "Hurricane" (3c555/3cSOHO)                           PCI 
416   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
417   KCONFIG:=CONFIG_3C59X
418   DEPENDS:=@LINUX_2_6_X86
419   SUBMENU:=$(NDMENU)
420   AUTOLOAD:=$(call AutoLoad,50,3c59x)
421 endef
422 $(eval $(call KernelPackage,3c59x))