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