Put r6040 ethernet driver as a module
[openwrt/staging/florian.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 DESCRIPTION:= \
14 Kernel modules for ATM support
15 DEPENDS:=@LINUX_2_6
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 CONFIG_ATM_DRIVERS=y
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 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
42 KCONFIG:=CONFIG_BONDING
43 SUBMENU:=$(NSMENU)
44 AUTOLOAD:=$(call AutoLoad,40,bonding)
45 endef
46 $(eval $(call KernelPackage,bonding))
47
48 define KernelPackage/ipip
49 TITLE:=IP in IP encapsulation support
50 DESCRIPTION:=\
51 Kernel modules for IP in IP encapsulation
52 KCONFIG:=CONFIG_NET_IPIP
53 SUBMENU:=$(NSMENU)
54 endef
55
56 define KernelPackage/ipip/2.4
57 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
58 AUTOLOAD:=$(call AutoLoad,30,ipip)
59 endef
60
61 define KernelPackage/ipip/2.6
62 FILES:= \
63 $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
64 $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
65 AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
66 endef
67 $(eval $(call KernelPackage,ipip))
68
69 define KernelPackage/ipsec
70 TITLE:=IPsec related modules (IPv4 and IPv6)
71 DESCRIPTION:=\
72 Kernel modules for IPsec support in both IPv4 and IPv6.\\\
73 Includes:\\\
74 - af_key\\\
75 - xfrm_user
76 SUBMENU:=$(NSMENU)
77 DEPENDS:=@LINUX_2_6
78 KCONFIG:=CONFIG_NET_KEY
79 FILES:= \
80 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
81 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
82 endef
83 $(eval $(call KernelPackage,ipsec))
84
85 define KernelPackage/ipsec4
86 TITLE:=IPsec related modules (IPv4)
87 DESCRIPTION:=\
88 Kernel modules for IPsec support in IPv4.\\\
89 Includes:\\\
90 - ah4\\\
91 - esp4\\\
92 - ipcomp\\\
93 - xfrm4_tunnel
94 SUBMENU:=$(NSMENU)
95 KCONFIG:=CONFIG_INET_AH
96 DEPENDS:=kmod-ipsec
97 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
98 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
99 )
100 endef
101 $(eval $(call KernelPackage,ipsec4))
102
103 define KernelPackage/ipsec6
104 TITLE:=IPsec related modules (IPv6)
105 DESCRIPTION:=\
106 Kernel modules for IPsec support in IPv6.\\\
107 Includes:\\\
108 - ah6\\\
109 - esp6\\\
110 - ipcomp6\\\
111 - xfrm6_tunnel\\\
112 - tunnel6
113 SUBMENU:=$(NSMENU)
114 KCONFIG:=CONFIG_INET6_AH
115 DEPENDS:=kmod-ipsec
116 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
117 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
118 )
119 endef
120 $(eval $(call KernelPackage,ipsec6))
121
122
123 define KernelPackage/ipv6
124 TITLE:=IPv6 support
125 DESCRIPTION:=\
126 Kernel modules for IPv6 support
127 KCONFIG:=CONFIG_IPV6
128 SUBMENU:=$(NSMENU)
129 AUTOLOAD:=$(call AutoLoad,20,ipv6)
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 kmod-atm
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 KCONFIG:=CONFIG_PPP_MPPE_MPPC CONFIG_PPP_MPPE
224 SUBMENU:=$(NSMENU)
225 endef
226
227 define KernelPackage/mppe/2.4
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 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
234 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
235 endef
236 $(eval $(call KernelPackage,mppe))
237
238
239 define KernelPackage/sched
240 TITLE:=Traffic schedulers
241 DESCRIPTION:=\
242 Kernel schedulers for IP traffic
243 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
244 SUBMENU:=$(NSMENU)
245 endef
246 $(eval $(call KernelPackage,sched))
247
248
249
250 define KernelPackage/ax25
251 TITLE:=AX25 support
252 DESCRIPTION:=Kernel modules for AX25 support
253 SUBMENU:=$(NSMENU)
254 KCONFIG:=CONFIG_AX25
255 FILES:= \
256 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
257 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
258 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
259 endef
260 $(eval $(call KernelPackage,ax25))
261
262
263 define KernelPackage/mp-alg
264 TITLE:=ECMP caching algorithms
265 DEPENDS:=@LINUX_2_6
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/r6040
296 TITLE:=RDC Fast-Ethernet support
297 DESCRIPTION:=\
298 Kernel modules for RDC Fast-Ethernet adapters.
299 FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
300 KCONFIG:=CONFIG_R6040
301 DEPENDS:=@LINUX_2_6_RDC
302 SUBMENU:=$(NDMENU)
303 endef
304 $(eval $(call KernelPackage,r6040))
305
306 define KernelPackage/sis900
307 TITLE:=SiS 900 Ethernet support
308 DESCRIPTION:=\
309 Kernel modules for Sis 900 Ethernet adapters.
310 FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
311 KCONFIG:=CONFIG_SIS900
312 DEPENDS:=@LINUX_2_6_X86
313 SUBMENU:=$(NDMENU)
314 AUTOLOAD:=$(call AutoLoad,50,sis900)
315 endef
316 $(eval $(call KernelPackage,sis900))
317
318 define KernelPackage/via-rhine
319 TITLE:=Via Rhine ethernet support
320 DESCRIPTION:=\
321 Kernel modules for Via Rhine Ethernet chipsets.
322 FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
323 KCONFIG:=CONFIG_VIA_RHINE
324 DEPENDS:=@LINUX_2_6_X86
325 SUBMENU:=$(NDMENU)
326 AUTOLOAD:=$(call AutoLoad,50,via-rhine)
327 endef
328 $(eval $(call KernelPackage,via-rhine))
329
330 define KernelPackage/via-velocity
331 TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
332 DESCRIPTION:=\
333 Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
334 FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
335 KCONFIG:=CONFIG_VIA_VELOCITY
336 DEPENDS:=@LINUX_2_6_IXP4XX
337 SUBMENU:=$(NDMENU)
338 AUTOLOAD:=$(call AutoLoad,50,via-velocity)
339 endef
340 $(eval $(call KernelPackage,via-velocity))
341
342 define KernelPackage/8139too
343 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
344 DESCRIPTION:=\
345 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
346 FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
347 KCONFIG:=CONFIG_8139TOO
348 DEPENDS:=@LINUX_2_6_X86
349 SUBMENU:=$(NDMENU)
350 AUTOLOAD:=$(call AutoLoad,50,8139too)
351 endef
352 $(eval $(call KernelPackage,8139too))
353
354 define KernelPackage/r8169
355 TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
356 DESCRIPTION:=\
357 Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
358 FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
359 KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
360 DEPENDS:=@LINUX_2_6_X86
361 SUBMENU:=$(NDMENU)
362 AUTOLOAD:=$(call AutoLoad,50,r8169)
363 endef
364 $(eval $(call KernelPackage,r8169))
365
366 define KernelPackage/ne2k-pci
367 TITLE:=ne2k-pci Ethernet Adapter kernel support
368 DESCRIPTION:=\
369 ne2k-pci Ethernet Adapter kernel support.
370 FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
371 $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
372 KCONFIG:=CONFIG_NE2K_PCI
373 DEPENDS:=@LINUX_2_6_X86
374 SUBMENU:=$(NDMENU)
375 AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
376 endef
377 $(eval $(call KernelPackage,ne2k-pci))
378
379 define KernelPackage/ixp4xx-npe
380 TITLE:=Intel(R) IXP4xx ethernet support
381 DESCRIPTION:=\
382 Kernel modules for Intel(R) IXP4xx onboard ethernet.
383 FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
384 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
385 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
386 KCONFIG:=CONFIG_IXP4XX_MAC
387 DEPENDS:=@LINUX_2_6_IXP4XX
388 SUBMENU:=$(NDMENU)
389 AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
390 endef
391 $(eval $(call KernelPackage,ixp4xx-npe))
392
393 define KernelPackage/e100
394 TITLE:=Intel(R) PRO/100+ cards kernel support
395 DESCRIPTION:=\
396 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
397 FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
398 KCONFIG:=CONFIG_E100
399 DEPENDS:=@LINUX_2_6_X86
400 SUBMENU:=$(NDMENU)
401 AUTOLOAD:=$(call AutoLoad,50,e100)
402 endef
403 $(eval $(call KernelPackage,e100))
404
405 define KernelPackage/e1000
406 TITLE:=Intel(R) PRO/1000 cards kernel support
407 DESCRIPTION:=\
408 Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
409 FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
410 KCONFIG:=CONFIG_E1000
411 DEPENDS:=@LINUX_2_6_X86
412 SUBMENU:=$(NDMENU)
413 AUTOLOAD:=$(call AutoLoad,50,e1000)
414 endef
415 $(eval $(call KernelPackage,e1000))
416
417 define KernelPackage/3c59x
418 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
419 DESCRIPTION:=\
420 This option enables driver support for a large number of 10mbps and \\\
421 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
422 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
423 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
424 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
425 - "Tornado" (3c905) PCI \\\
426 - "Hurricane" (3c555/3cSOHO) PCI
427 FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
428 KCONFIG:=CONFIG_3C59X
429 DEPENDS:=@LINUX_2_6_X86
430 SUBMENU:=$(NDMENU)
431 AUTOLOAD:=$(call AutoLoad,50,3c59x)
432 endef
433 $(eval $(call KernelPackage,3c59x))