Fix kmod-ppp generation (#2337)
[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   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))