2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
10 define KernelPackage/crypto
11 TITLE:=CryptoAPI modules
13 $(CONFIG_CRYPTO_HMAC) \
14 $(CONFIG_CRYPTO_NULL) \
15 $(CONFIG_CRYPTO_MD4) \
16 $(CONFIG_CRYPTO_MD5) \
17 $(CONFIG_CRYPTO_SHA1) \
18 $(CONFIG_CRYPTO_SHA256) \
19 $(CONFIG_CRYPTO_SHA512) \
20 $(CONFIG_CRYPTO_WP512) \
21 $(CONFIG_CRYPTO_TGR192) \
22 $(CONFIG_CRYPTO_DES) \
23 $(CONFIG_CRYPTO_BLOWFISH) \
24 $(CONFIG_CRYPTO_TWOFISH) \
25 $(CONFIG_CRYPTO_SERPENT) \
26 $(CONFIG_CRYPTO_AES) \
27 $(CONFIG_CRYPTO_CAST5) \
28 $(CONFIG_CRYPTO_CAST6) \
29 $(CONFIG_CRYPTO_TEA) \
30 $(CONFIG_CRYPTO_ARC4) \
31 $(CONFIG_CRYPTO_KHAZAD) \
32 $(CONFIG_CRYPTO_ANUBIS) \
33 $(CONFIG_CRYPTO_DEFLATE) \
34 $(CONFIG_CRYPTO_MICHAEL_MIC) \
35 $(CONFIG_CRYPTO_CRC32C)
36 FILES:=$(MODULES_DIR)/kernel/crypto/*.$(LINUX_KMOD_SUFFIX)
38 $(eval $(call KernelPackage,crypto))
40 define KernelPackage/ide-core
41 TITLE:=Kernel support for IDE
43 Useful for usb mass storage devices (e.g. on WL-HDD)\\\
49 KCONFIG:=$(CONFIG_IDE)
50 FILES:=$(MODULES_DIR)/kernel/drivers/ide/*.$(LINUX_KMOD_SUFFIX)
51 AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,90,ide-detect ide-disk)
53 $(eval $(call KernelPackage,ide-core))
55 define KernelPackage/ide-pdc202xx
56 TITLE:=PDC202xx IDE driver
57 KCONFIG:=$(CONFIG_BLK_DEV_PDC202XX_OLD)
58 FILES:=$(MODULES_DIR)/kernel/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
59 AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
61 $(eval $(call KernelPackage,ide-pdc202xx))
64 define KernelPackage/lp
65 TITLE:=Parallel port and line printer support
66 KCONFIG:=$(CONFIG_PARPORT)
68 $(MODULES_DIR)/kernel/drivers/parport/parport.$(LINUX_KMOD_SUFFIX) \
69 $(MODULES_DIR)/kernel/drivers/parport/parport_*.$(LINUX_KMOD_SUFFIX) \
70 $(MODULES_DIR)/kernel/drivers/char/lp.$(LINUX_KMOD_SUFFIX) \
71 $(MODULES_DIR)/kernel/drivers/char/ppdev.$(LINUX_KMOD_SUFFIX)
72 AUTOLOAD:=$(call AutoLoad,50, \
78 $(eval $(call KernelPackage,lp))
81 WIMENU:=Wireless Drivers
83 define KernelPackage/bcm43xx
84 TITLE:=Broadcom BCM43xx driver
89 DEPENDS:=kmod-ieee80211softmac
90 KCONFIG:=$(CONFIG_BCM43XX)
91 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
92 AUTOLOAD:=$(call Autoload,50,bcm43xx)
95 $(eval $(call KernelPackage,bcm43xx))
97 define KernelPackage/ipw2100
98 TITLE:=Intel IPw2100 driver
103 DEPENDS:=kmod-ieee80211softmac
104 KCONFIG:=$(CONFIG_IPW2100)
105 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
106 AUTOLOAD:=$(call Autoload,50,ipw2100)
109 $(eval $(call KernelPackage,ipw2100))
111 define KernelPackage/ipw2200
112 TITLE:=Intel IPw2200 driver
117 DEPENDS:=kmod-ieee80211softmac
118 KCONFIG:=$(CONFIG_IPW2200)
119 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
120 AUTOLOAD:=$(call Autoload,50,ipw2200)
123 $(eval $(call KernelPackage,ipw2200))
126 NFMENU:=Netfilter Extensions
128 define KernelPackage/ipt-conntrack
129 TITLE:=Modules for connection tracking
131 Netfilter (IPv4) kernel modules for connection tracking\\\
136 - ipt_connmark/CONNMARK
137 FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
140 $(eval $(call KernelPackage,ipt-conntrack))
142 define KernelPackage/ipt-filter
143 TITLE:=Modules for packet content inspection
145 Netfilter (IPv4) kernel modules for packet content inspection \\\
150 FILES:=$(foreach mod,$(IPT_FILTER-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
153 $(eval $(call KernelPackage,ipt-filter))
155 define KernelPackage/ipt-ipopt
156 TITLE:=Modules for matching/changing IP packet options
158 Netfilter (IPv4) modules for matching/changing IP packet options \\\
169 FILES:=$(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
172 $(eval $(call KernelPackage,ipt-ipopt))
174 define KernelPackage/ipt-ipsec
175 TITLE:=Modules for matching IPSec packets
177 Netfilter (IPv4) modules for matching IPSec packets \\\
182 FILES:=$(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
185 $(eval $(call KernelPackage,ipt-ipsec))
187 define KernelPackage/ipt-nat
188 TITLE:=Modules for extra NAT targets
190 Netfilter (IPv4) modules for extra NAT targets \\\
195 FILES:=$(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
198 $(eval $(call KernelPackage,ipt-nat))
200 define KernelPackage/ipt-nathelper
201 TITLE:=Extra Conntrack and NAT helpers
203 Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
206 - ip_conntrack_amanda \\\
207 - ip_conntrack_proto_gre \\\
208 - ip_nat_proto_gre \\\
209 - ip_conntrack_pptp \\\
211 - ip_conntrack_sip \\\
213 - ip_nat_snmp_basic \\\
215 FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
218 $(eval $(call KernelPackage,ipt-nathelper))
220 define KernelPackage/ipt-imq
221 TITLE:=Intermediate Queueing support
223 Kernel support for Intermediate Queueing devices
224 KCONFIG:=$(CONFIG_IP_NF_TARGET_IMQ)
225 FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
228 $(eval $(call KernelPackage,ipt-imq))
231 define KernelPackage/ipt-queue
232 TITLE:=Module for user-space packet queueing
234 Netfilter (IPv4) module for user-space packet queueing \\\
238 FILES:=$(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
241 $(eval $(call KernelPackage,ipt-queue))
243 define KernelPackage/ipt-ulog
244 TITLE:=Module for user-space packet logging
246 Netfilter (IPv4) module for user-space packet logging \\\
250 FILES:=$(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
253 $(eval $(call KernelPackage,ipt-ulog))
255 define KernelPackage/ipt-extra
258 Other Netfilter (IPv4) kernel modules\\\
265 FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
268 $(eval $(call KernelPackage,ipt-extra))
270 define KernelPackage/ip6tables
273 Netfilter IPv6 firewalling support
274 KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
275 FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
278 $(eval $(call KernelPackage,ip6tables))
281 define KernelPackage/arptables
282 TITLE:=ARP firewalling modules
284 Kernel modules for ARP firewalling
285 FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
286 KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
289 $(eval $(call KernelPackage,arptables))
292 define KernelPackage/ebtables
293 TITLE:=Bridge firewalling modules
295 Kernel modules for Ethernet Bridge firewalling
296 FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
297 KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
300 $(eval $(call KernelPackage,ebtables))
302 NSMENU:=Network Support
304 define KernelPackage/atm
306 DEPENDS:=@ATM_SUPPORT
308 Kernel modules for ATM support
310 $(MODULES_DIR)/kernel/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
311 $(MODULES_DIR)/kernel/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
312 KCONFIG:=$(CONFIG_ATM)
314 AUTOLOAD:=$(call AutoLoad,30,atm)
316 $(eval $(call KernelPackage,atm))
318 define KernelPackage/atmtcp
321 Kernel module for ATM over TCP support
322 DEPENDS:=@LINUX_2_6 kmod-atm
323 FILES:=$(MODULES_DIR)/kernel/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
324 KCONFIG:=$(CONFIG_ATM_TCP)
325 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
327 $(eval $(call KernelPackage,atmtcp))
329 define KernelPackage/ipip
330 TITLE:=IP in IP encapsulation support
332 Kernel modules for IP in IP encapsulation
333 KCONFIG:=$(CONFIG_NET_IPIP)
336 $(eval $(call KernelPackage,ipip))
338 define KernelPackage/ipip/2.4
339 FILES:=$(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
340 AUTOLOAD:=$(call AutoLoad,30,ipip)
343 define KernelPackage/ipip/2.6
345 $(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
346 $(MODULES_DIR)/kernel/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
347 AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
350 define KernelPackage/ipv6
353 Kernel modules for IPv6 support
354 KCONFIG:=$(CONFIG_IPV6)
355 FILES:=$(MODULES_DIR)/kernel/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
358 $(eval $(call KernelPackage,ipv6))
361 define KernelPackage/gre
364 Generic Routing Encapsulation support
365 KCONFIG=$(CONFIG_NET_IPGRE)
366 FILES=$(MODULES_DIR)/kernel/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
369 $(eval $(call KernelPackage,gre))
372 define KernelPackage/tun
373 TITLE:=Universal TUN/TAP driver
375 Kernel support for the TUN/TAP tunneling device
376 KCONFIG:=$(CONFIG_TUN)
377 FILES:=$(MODULES_DIR)/kernel/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
379 AUTOLOAD:=$(call AutoLoad,30,tun)
381 $(eval $(call KernelPackage,tun))
384 define KernelPackage/ppp
387 Kernel modules for PPP support
388 KCONFIG:=$(CONFIG_PPP)
392 define KernelPackage/ppp/2.6
393 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.ko $(MODULES_DIR)/kernel/drivers/net/ppp_generic.ko $(MODULES_DIR)/kernel/drivers/net/slhc.ko $(MODULES_DIR)/kernel/lib/crc-ccitt.ko
394 AUTOLOAD:=$(call AutoLoad,30,crc-ccitt)
397 define KernelPackage/ppp/2.4
398 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.o $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o $(MODULES_DIR)/kernel/drivers/net/slhc.o
400 $(eval $(call KernelPackage,ppp))
403 define KernelPackage/pppoe
406 Kernel modules for PPPoE (PPP over Ethernet) support
408 KCONFIG:=$(CONFIG_PPPOE)
409 FILES:=$(MODULES_DIR)/kernel/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
412 $(eval $(call KernelPackage,pppoe))
415 define KernelPackage/pppoa
418 Kernel modules for PPPoA (PPP over ATM) support
420 KCONFIG:=$(CONFIG_PPPOATM)
421 FILES:=$(MODULES_DIR)/kernel/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
424 $(eval $(call KernelPackage,pppoa))
427 define KernelPackage/mppe
428 TITLE:=Microsoft PPP compression/encryption
429 DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
431 KCONFIG:=$(CONFIG_PPP_MPPE)
435 define KernelPackage/mppe/2.4
436 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
439 define KernelPackage/mppe/2.6
440 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
442 $(eval $(call KernelPackage,mppe))
445 define KernelPackage/sched
446 TITLE:=Traffic schedulers
448 Kernel schedulers for IP traffic
449 FILES:=$(MODULES_DIR)/kernel/net/sched/*.$(LINUX_KMOD_SUFFIX)
452 $(eval $(call KernelPackage,sched))
455 define KernelPackage/ieee80211softmac
456 TITLE:=802.11 Networking stack
460 - ieee80211_crypt \\\
462 - ieee80211_crypt_wep \\\
463 - ieee80211_crypt_tkip \\\
464 - ieee80211_crytp_ccmp \\\
467 KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
468 FILES:=$(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
469 AUTOLOAD:=$(call AutoLoad,10, \
472 ieee80211_crypt_wep \
473 ieee80211_crypt_tkip \
474 ieee80211_crypt_ccmp \
479 $(eval $(call KernelPackage,ieee80211softmac))
483 NDMENU:=Network Devices
485 define KernelPackage/natsemi
486 TITLE:=National Semiconductor DP8381x series
488 Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
490 FILES:=$(MODULES_DIR)/kernel/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
491 KCONFIG:=$(CONFIG_NATSEMI)
492 DEPENDS:=@LINUX_2_6_X86
495 AUTOLOAD:=$(call AutoLoad,20,natsemi)
497 $(eval $(call KernelPackage,natsemi))
499 define KernelPackage/sis900
500 TITLE:=SiS 900 Ethernet support
502 Kernel modules for Sis 900 Ethernet adapters.
503 FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
504 KCONFIG:=$(CONFIG_SIS900)
505 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
508 $(eval $(call KernelPackage,sis900))
510 define KernelPackage/via-rhine
511 TITLE:=Via Rhine ethernet support
513 Kernel modules for Via Rhine Ethernet chipsets.
514 FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
515 KCONFIG:=$(CONFIG_VIA_RHINE)
516 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
519 $(eval $(call KernelPackage,via-rhine))
521 define KernelPackage/8139too
522 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
524 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
525 FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
526 KCONFIG:=$(CONFIG_8139TOO)
527 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
530 $(eval $(call KernelPackage,8139too))
532 define KernelPackage/e100
533 TITLE:=Intel(R) PRO/100+ cards kernel support
535 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
536 FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
537 KCONFIG:=$(CONFIG_E100)
538 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
541 $(eval $(call KernelPackage,e100))
543 define KernelPackage/3c59x
544 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
546 This option enables driver support for a large number of 10mbps and \\\
547 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
548 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
549 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
550 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
551 - "Tornado" (3c905) PCI \\\
552 - "Hurricane" (3c555/3cSOHO) PCI
553 FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
554 KCONFIG:=$(CONFIG_3C59X)
555 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
558 $(eval $(call KernelPackage,3c59x))