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