require all CONFIG_* symbols listed in its KCONFIG to be set to m in order to actuall...
[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 SUBMENU:=$(NSMENU)
13 TITLE:=ATM support
14 DESCRIPTION:= \
15 Kernel modules for ATM support
16 DEPENDS:=@LINUX_2_6
17 KCONFIG:= \
18 CONFIG_ATM \
19 CONFIG_ATM_BR2684
20 FILES:= \
21 $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
22 $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
23 AUTOLOAD:=$(call AutoLoad,30,atm br2684)
24 endef
25
26 $(eval $(call KernelPackage,atm))
27
28
29 define KernelPackage/atmtcp
30 SUBMENU:=$(NSMENU)
31 TITLE:=ATM over TCP
32 DESCRIPTION:= \
33 Kernel module for ATM over TCP support
34 DEPENDS:=@LINUX_2_6 kmod-atm
35 KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
36 FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
37 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
38 endef
39
40 $(eval $(call KernelPackage,atmtcp))
41
42
43 define KernelPackage/bonding
44 SUBMENU:=$(NSMENU)
45 TITLE:=Ethernet bonding driver
46 DESCRIPTION:= \
47 Kernel module for NIC bonding.
48 KCONFIG:=CONFIG_BONDING
49 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
50 AUTOLOAD:=$(call AutoLoad,40,bonding)
51 endef
52 $(eval $(call KernelPackage,bonding))
53
54 define KernelPackage/ipip
55 SUBMENU:=$(NSMENU)
56 TITLE:=IP in IP encapsulation support
57 DESCRIPTION:=\
58 Kernel modules for IP in IP encapsulation
59 KCONFIG:=CONFIG_NET_IPIP
60 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
61 AUTOLOAD:=$(call AutoLoad,30,ipip)
62 endef
63
64 define KernelPackage/ipip/2.6
65 KCONFIG+=CONFIG_INET_TUNNEL
66 FILES+=$(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
67 AUTOLOAD+=$(call AutoLoad,31,tunnel4)
68 endef
69
70 $(eval $(call KernelPackage,ipip))
71
72
73 define KernelPackage/ipsec
74 SUBMENU:=$(NSMENU)
75 TITLE:=IPsec related modules (IPv4 and IPv6)
76 DESCRIPTION:=\
77 Kernel modules for IPsec support in both IPv4 and IPv6.\\\
78 Includes:\\\
79 - af_key\\\
80 - xfrm_user
81 DEPENDS:=@LINUX_2_6
82 KCONFIG:= \
83 CONFIG_NET_KEY \
84 CONFIG_XFRM_USER
85 FILES:= \
86 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
87 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
88 endef
89
90 $(eval $(call KernelPackage,ipsec))
91
92
93 define KernelPackage/ipsec4
94 SUBMENU:=$(NSMENU)
95 TITLE:=IPsec related modules (IPv4)
96 DESCRIPTION:=\
97 Kernel modules for IPsec support in IPv4.\\\
98 Includes:\\\
99 - ah4\\\
100 - esp4\\\
101 - ipcomp\\\
102 - xfrm4_tunnel
103 DEPENDS:=kmod-ipsec
104 KCONFIG:= \
105 CONFIG_INET_AH \
106 CONFIG_INET_ESP \
107 CONFIG_INET_IPCOMP \
108 CONFIG_INET_XFRM_TUNNEL
109 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
110 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
111 )
112 endef
113
114 $(eval $(call KernelPackage,ipsec4))
115
116
117 define KernelPackage/ipsec6
118 SUBMENU:=$(NSMENU)
119 TITLE:=IPsec related modules (IPv6)
120 DESCRIPTION:=\
121 Kernel modules for IPsec support in IPv6.\\\
122 Includes:\\\
123 - ah6\\\
124 - esp6\\\
125 - ipcomp6\\\
126 - xfrm6_tunnel\\\
127 - tunnel6
128 DEPENDS:=kmod-ipsec
129 KCONFIG:= \
130 CONFIG_INET6_AH \
131 CONFIG_INET6_ESP \
132 CONFIG_INET6_IPCOMP \
133 CONFIG_INET6_XFRM_TUNNEL \
134 CONFIG_INET6_TUNNEL
135 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
136 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
137 )
138 endef
139
140 $(eval $(call KernelPackage,ipsec6))
141
142
143 define KernelPackage/ipv6
144 SUBMENU:=$(NSMENU)
145 TITLE:=IPv6 support
146 DESCRIPTION:=\
147 Kernel modules for IPv6 support
148 KCONFIG:=CONFIG_IPV6
149 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
150 AUTOLOAD:=$(call AutoLoad,20,ipv6)
151 endef
152
153 define KernelPackage/ipv6/2.6
154 KCONFIG+=CONFIG_IPV6_SIT
155 FILES+=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
156 AUTOLOAD+=$(call AutoLoad,21,sit)
157 endef
158
159 $(eval $(call KernelPackage,ipv6))
160
161
162 define KernelPackage/gre
163 SUBMENU:=$(NSMENU)
164 TITLE:=GRE support
165 DESCRIPTION:=\
166 Generic Routing Encapsulation support
167 KCONFIG:=CONFIG_NET_IPGRE
168 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
169 endef
170
171 $(eval $(call KernelPackage,gre))
172
173
174 define KernelPackage/tun
175 SUBMENU:=$(NSMENU)
176 TITLE:=Universal TUN/TAP driver
177 DESCRIPTION:=\
178 Kernel support for the TUN/TAP tunneling device
179 KCONFIG:=CONFIG_TUN
180 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
181 AUTOLOAD:=$(call AutoLoad,30,tun)
182 endef
183
184 $(eval $(call KernelPackage,tun))
185
186
187 define KernelPackage/ppp
188 SUBMENU:=$(NSMENU)
189 TITLE:=PPP modules
190 DESCRIPTION:=\
191 Kernel modules for PPP support
192 KCONFIG:= \
193 CONFIG_PPP \
194 CONFIG_PPP_ASYNC
195 FILES:= \
196 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
197 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
198 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
199 endef
200
201 define KernelPackage/ppp/2.4
202 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
203 endef
204
205 define KernelPackage/ppp/2.6
206 KCONFIG+= \
207 CONFIG_SLHC \
208 CONFIG_CRC_CCITT
209 FILES:= \
210 $(LINUX_DIR)/lib/crc-ccitt.$(LINUX_KMOD_SUFFIX)
211 AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
212 endef
213
214 $(eval $(call KernelPackage,ppp))
215
216
217 define KernelPackage/ppp-synctty
218 SUBMENU:=$(NSMENU)
219 TITLE:=PPP sync tty support
220 DESCRIPTION:=\
221 Kernel modules for PPP sync tty support
222 DEPENDS:=kmod-ppp
223 KCONFIG:=CONFIG_PPP_SYNC_TTY
224 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
225 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
226 endef
227
228 $(eval $(call KernelPackage,ppp-synctty))
229
230
231 define KernelPackage/pppoe
232 SUBMENU:=$(NSMENU)
233 TITLE:=PPPoE support
234 DESCRIPTION:=\
235 Kernel modules for PPPoE (PPP over Ethernet) support
236 DEPENDS:=kmod-ppp
237 KCONFIG:=CONFIG_PPPOE
238 FILES:= \
239 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
240 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
241 endef
242
243 $(eval $(call KernelPackage,pppoe))
244
245
246 define KernelPackage/pppoa
247 SUBMENU:=$(NSMENU)
248 TITLE:=PPPoA support
249 DESCRIPTION:=\
250 Kernel modules for PPPoA (PPP over ATM) support
251 DEPENDS:=kmod-ppp kmod-atm
252 KCONFIG:=CONFIG_PPPOATM
253 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
254 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
255 endef
256
257 $(eval $(call KernelPackage,pppoa))
258
259
260 define KernelPackage/mppe
261 SUBMENU:=$(NSMENU)
262 TITLE:=Microsoft PPP compression/encryption
263 DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
264 DEPENDS:=kmod-ppp
265 endef
266
267 define KernelPackage/mppe/2.4
268 KCONFIG:=CONFIG_PPP_MPPE_MPPC
269 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
270 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
271 endef
272
273 define KernelPackage/mppe/2.6
274 KCONFIG:=CONFIG_PPP_MPPE
275 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
276 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
277 endef
278
279 $(eval $(call KernelPackage,mppe))
280
281
282 define KernelPackage/sched
283 SUBMENU:=$(NSMENU)
284 TITLE:=Traffic schedulers
285 DESCRIPTION:=\
286 Kernel schedulers for IP traffic
287 KCONFIG:=CONFIG_NET_SCHED
288 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
289 endef
290
291 $(eval $(call KernelPackage,sched))
292
293
294 define KernelPackage/ax25
295 SUBMENU:=$(NSMENU)
296 TITLE:=AX25 support
297 DESCRIPTION:=Kernel modules for AX25 support
298 KCONFIG:= \
299 CONFIG_AX25 \
300 CONFIG_MKISS
301 FILES:= \
302 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
303 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
304 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
305 endef
306
307 $(eval $(call KernelPackage,ax25))
308
309
310 define KernelPackage/mp-alg
311 SUBMENU:=$(NSMENU)
312 TITLE:=ECMP caching algorithms
313 DEPENDS:=@LINUX_2_6
314 DESCRIPTION:= \
315 Kernel modules that provide several different algorithms for multipath \\\
316 route selection from the route cache. The iproute "mpath" argument allows \\\
317 specifying which algorithm to use for routes. \\\
318 quagga (at least <=0.99.6) requires a multipath patch to support this \\\
319 cached mp route feature.
320 KCONFIG:= \
321 CONFIG_IP_ROUTE_MULTIPATH_RR \
322 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
323 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
324 CONFIG_IP_ROUTE_MULTIPATH_DRR
325 FILES:= \
326 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
327 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
328 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
329 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
330 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
331 endef
332
333 $(eval $(call KernelPackage,mp-alg))
334
335
336 NDMENU:=Network Devices
337
338 define KernelPackage/natsemi
339 SUBMENU:=$(NDMENU)
340 TITLE:=National Semiconductor DP8381x series
341 DESCRIPTION:=\
342 Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
343 adapters.
344 DEPENDS:=@LINUX_2_6_X86
345 KCONFIG:=CONFIG_NATSEMI
346 FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
347 AUTOLOAD:=$(call AutoLoad,20,natsemi)
348 endef
349
350 $(eval $(call KernelPackage,natsemi))
351
352
353 define KernelPackage/r6040
354 SUBMENU:=$(NDMENU)
355 TITLE:=RDC Fast-Ethernet support
356 DESCRIPTION:=\
357 Kernel modules for RDC Fast-Ethernet adapters.
358 DEPENDS:=@LINUX_2_6_RDC
359 KCONFIG:=CONFIG_R6040
360 FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
361 endef
362
363 $(eval $(call KernelPackage,r6040))
364
365
366 define KernelPackage/sis900
367 SUBMENU:=$(NDMENU)
368 TITLE:=SiS 900 Ethernet support
369 DESCRIPTION:=\
370 Kernel modules for Sis 900 Ethernet adapters.
371 DEPENDS:=@LINUX_2_6_X86
372 KCONFIG:=CONFIG_SIS900
373 FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
374 AUTOLOAD:=$(call AutoLoad,50,sis900)
375 endef
376
377 $(eval $(call KernelPackage,sis900))
378
379
380 define KernelPackage/via-rhine
381 SUBMENU:=$(NDMENU)
382 TITLE:=Via Rhine ethernet support
383 DESCRIPTION:=\
384 Kernel modules for Via Rhine Ethernet chipsets.
385 DEPENDS:=@LINUX_2_6_X86
386 KCONFIG:=CONFIG_VIA_RHINE
387 FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
388 AUTOLOAD:=$(call AutoLoad,50,via-rhine)
389 endef
390
391 $(eval $(call KernelPackage,via-rhine))
392
393
394 define KernelPackage/via-velocity
395 SUBMENU:=$(NDMENU)
396 TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
397 DESCRIPTION:=\
398 Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
399 DEPENDS:=@LINUX_2_6_IXP4XX
400 KCONFIG:=CONFIG_VIA_VELOCITY
401 FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
402 AUTOLOAD:=$(call AutoLoad,50,via-velocity)
403 endef
404
405 $(eval $(call KernelPackage,via-velocity))
406
407
408 define KernelPackage/8139too
409 SUBMENU:=$(NDMENU)
410 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
411 DESCRIPTION:=\
412 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
413 DEPENDS:=@LINUX_2_6_X86
414 KCONFIG:=CONFIG_8139TOO
415 FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
416 AUTOLOAD:=$(call AutoLoad,50,8139too)
417 endef
418
419 $(eval $(call KernelPackage,8139too))
420
421
422 define KernelPackage/r8169
423 SUBMENU:=$(NDMENU)
424 TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
425 DESCRIPTION:=\
426 Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
427 DEPENDS:=@LINUX_2_6_X86
428 KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
429 FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
430 AUTOLOAD:=$(call AutoLoad,50,r8169)
431 endef
432
433 $(eval $(call KernelPackage,r8169))
434
435
436 define KernelPackage/ne2k-pci
437 SUBMENU:=$(NDMENU)
438 TITLE:=ne2k-pci Ethernet Adapter kernel support
439 DESCRIPTION:=\
440 ne2k-pci Ethernet Adapter kernel support.
441 DEPENDS:=@LINUX_2_6_X86
442 KCONFIG:=CONFIG_NE2K_PCI
443 FILES:= \
444 $(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
445 $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
446 AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
447 endef
448
449 $(eval $(call KernelPackage,ne2k-pci))
450
451
452 define KernelPackage/ixp4xx-npe
453 SUBMENU:=$(NDMENU)
454 TITLE:=Intel(R) IXP4xx ethernet support
455 DESCRIPTION:=\
456 Kernel modules for Intel(R) IXP4xx onboard ethernet.
457 DEPENDS:=@LINUX_2_6_IXP4XX
458 KCONFIG:=CONFIG_IXP4XX_MAC
459 FILES:= \
460 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
461 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
462 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
463 AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
464 endef
465
466 $(eval $(call KernelPackage,ixp4xx-npe))
467
468
469 define KernelPackage/e100
470 SUBMENU:=$(NDMENU)
471 TITLE:=Intel(R) PRO/100+ cards kernel support
472 DESCRIPTION:=\
473 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
474 DEPENDS:=@LINUX_2_6_X86
475 KCONFIG:=CONFIG_E100
476 FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
477 AUTOLOAD:=$(call AutoLoad,50,e100)
478 endef
479
480 $(eval $(call KernelPackage,e100))
481
482
483 define KernelPackage/e1000
484 SUBMENU:=$(NDMENU)
485 TITLE:=Intel(R) PRO/1000 cards kernel support
486 DESCRIPTION:=\
487 Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
488 DEPENDS:=@LINUX_2_6_X86
489 KCONFIG:=CONFIG_E1000
490 FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
491 AUTOLOAD:=$(call AutoLoad,50,e1000)
492 endef
493
494 $(eval $(call KernelPackage,e1000))
495
496
497 define KernelPackage/3c59x
498 SUBMENU:=$(NDMENU)
499 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
500 DESCRIPTION:=\
501 This option enables driver support for a large number of 10mbps and \\\
502 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
503 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
504 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
505 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
506 - "Tornado" (3c905) PCI \\\
507 - "Hurricane" (3c555/3cSOHO) PCI
508 DEPENDS:=@LINUX_2_6_X86
509 KCONFIG:=CONFIG_3C59X
510 FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
511 AUTOLOAD:=$(call AutoLoad,50,3c59x)
512 endef
513
514 $(eval $(call KernelPackage,3c59x))