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.
9 NETWORK_SUPPORT_MENU:=Network Support
11 define KernelPackage/atm
12 SUBMENU:=$(NETWORK_SUPPORT_MENU)
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)
24 define KernelPackage/atm/description
25 Kernel modules for ATM support
28 $(eval $(call KernelPackage,atm))
31 define KernelPackage/atmtcp
32 SUBMENU:=$(NETWORK_SUPPORT_MENU)
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)
40 define KernelPackage/atmtcp/description
41 Kernel module for ATM over TCP support
44 $(eval $(call KernelPackage,atmtcp))
47 define KernelPackage/bonding
48 SUBMENU:=$(NETWORK_SUPPORT_MENU)
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)
55 define KernelPackage/bonding/description
56 Kernel module for NIC bonding.
59 $(eval $(call KernelPackage,bonding))
62 define KernelPackage/capi
63 SUBMENU:=$(NETWORK_SUPPORT_MENU)
64 TITLE:=CAPI (ISDN) Support
69 CONFIG_ISDN_CAPI_CAPI20
71 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
72 $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX)
73 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
76 define KernelPackage/capi/description
77 Kernel module for basic CAPI (ISDN) support
80 $(eval $(call KernelPackage,capi))
83 define KernelPackage/ipsec
84 SUBMENU:=$(NETWORK_SUPPORT_MENU)
85 TITLE:=IPsec related modules (IPv4 and IPv6)
86 DEPENDS:=@LINUX_2_6 +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
91 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
92 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
95 define KernelPackage/ipsec/description
96 Kernel modules for IPsec support in both IPv4 and IPv6.
102 $(eval $(call KernelPackage,ipsec))
105 define KernelPackage/ipsec4
106 SUBMENU:=$(NETWORK_SUPPORT_MENU)
107 TITLE:=IPsec related modules (IPv4)
108 DEPENDS:=kmod-ipsec +kmod-iptunnel4
113 CONFIG_INET_XFRM_MODE_BEET \
114 CONFIG_INET_XFRM_MODE_TRANSPORT \
115 CONFIG_INET_XFRM_MODE_TUNNEL \
116 CONFIG_INET_XFRM_TUNNEL
117 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
118 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
122 define KernelPackage/ipsec4/description
123 Kernel modules for IPsec support in IPv4.
129 - xfrm4_mode_transport
134 $(eval $(call KernelPackage,ipsec4))
137 define KernelPackage/ipsec6
138 SUBMENU:=$(NETWORK_SUPPORT_MENU)
139 TITLE:=IPsec related modules (IPv6)
140 DEPENDS:=kmod-ipsec +kmod-iptunnel6
144 CONFIG_INET6_IPCOMP \
145 CONFIG_INET6_XFRM_MODE_BEET \
146 CONFIG_INET6_XFRM_MODE_TRANSPORT \
147 CONFIG_INET6_XFRM_MODE_TUNNEL \
148 CONFIG_INET6_XFRM_TUNNEL
149 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
150 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
154 define KernelPackage/ipsec6/description
155 Kernel modules for IPsec support in IPv6.
161 - xfrm6_mode_transport
166 $(eval $(call KernelPackage,ipsec6))
169 define KernelPackage/iptunnel4
170 SUBMENU:=$(NETWORK_SUPPORT_MENU)
171 TITLE:=IP tunneling (IPv4)
175 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
176 AUTOLOAD:=$(call AutoLoad,30,ipip)
179 define KernelPackage/iptunnel4/2.6
180 # KCONFIG+=CONFIG_INET_TUNNEL
181 FILES+=$(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
182 AUTOLOAD+=$(call AutoLoad,31,tunnel4)
185 define KernelPackage/iptunnel4/description
186 Kernel modules for IPv4 tunneling (IP in IP encapsulation)
189 $(eval $(call KernelPackage,iptunnel4))
192 define KernelPackage/iptunnel6
193 SUBMENU:=$(NETWORK_SUPPORT_MENU)
194 TITLE:=IP tunneling (IPv6)
196 KCONFIG:=CONFIG_INET6_TUNNEL
197 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.$(LINUX_KMOD_SUFFIX)
198 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
201 define KernelPackage/iptunnel6/description
202 Kernel modules for IPv6 tunneling (IPv6 in IPv6 tunnels)
205 $(eval $(call KernelPackage,iptunnel6))
208 define KernelPackage/ipv6
209 SUBMENU:=$(NETWORK_SUPPORT_MENU)
214 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
215 AUTOLOAD:=$(call AutoLoad,20,ipv6)
218 define KernelPackage/ipv6/2.6
219 # KCONFIG+=CONFIG_IPV6_SIT
220 FILES+=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
221 AUTOLOAD+=$(call AutoLoad,21,sit)
224 define KernelPackage/ipv6/description
225 Kernel modules for IPv6 support
228 $(eval $(call KernelPackage,ipv6))
231 define KernelPackage/gre
232 SUBMENU:=$(NETWORK_SUPPORT_MENU)
234 KCONFIG:=CONFIG_NET_IPGRE
235 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
238 define KernelPackage/gre/description
239 Generic Routing Encapsulation support
242 $(eval $(call KernelPackage,gre))
245 define KernelPackage/tun
246 SUBMENU:=$(NETWORK_SUPPORT_MENU)
247 TITLE:=Universal TUN/TAP driver
249 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
250 AUTOLOAD:=$(call AutoLoad,30,tun)
253 define KernelPackage/tun/description
254 Kernel support for the TUN/TAP tunneling device
257 $(eval $(call KernelPackage,tun))
260 define KernelPackage/ppp
261 SUBMENU:=$(NETWORK_SUPPORT_MENU)
269 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
270 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
271 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
274 define KernelPackage/ppp/2.4
275 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
278 define KernelPackage/ppp/2.6
283 $(LINUX_DIR)/lib/crc-ccitt.$(LINUX_KMOD_SUFFIX)
284 AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
287 define KernelPackage/ppp/description
288 Kernel modules for PPP support
291 $(eval $(call KernelPackage,ppp))
294 define KernelPackage/ppp-synctty
295 SUBMENU:=$(NETWORK_SUPPORT_MENU)
296 TITLE:=PPP sync tty support
298 KCONFIG:=CONFIG_PPP_SYNC_TTY
299 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
300 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
303 define KernelPackage/ppp-synctty/description
304 Kernel modules for PPP sync tty support
307 $(eval $(call KernelPackage,ppp-synctty))
310 define KernelPackage/pppoe
311 SUBMENU:=$(NETWORK_SUPPORT_MENU)
314 KCONFIG:=CONFIG_PPPOE
316 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
317 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
320 define KernelPackage/pppoe/description
321 Kernel modules for PPPoE (PPP over Ethernet) support
324 $(eval $(call KernelPackage,pppoe))
327 define KernelPackage/pppoa
328 SUBMENU:=$(NETWORK_SUPPORT_MENU)
330 DEPENDS:=kmod-ppp +kmod-atm
331 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
332 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
333 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
336 define KernelPackage/pppoa/description
337 Kernel modules for PPPoA (PPP over ATM) support
340 $(eval $(call KernelPackage,pppoa))
343 define KernelPackage/ipoa
344 SUBMENU:=$(NETWORK_SUPPORT_MENU)
347 KCONFIG:=CONFIG_ATM_CLIP
348 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
349 AUTOLOAD:=$(call AutoLoad,40,clip)
352 define KernelPackage/ipoa/description
353 Kernel modules for IPoA (IP over ATM) support
356 $(eval $(call KernelPackage,ipoa))
359 define KernelPackage/mppe
360 SUBMENU:=$(NETWORK_SUPPORT_MENU)
361 TITLE:=Microsoft PPP compression/encryption
362 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
364 CONFIG_PPP_MPPE_MPPC \
368 define KernelPackage/mppe/2.4
369 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
370 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
371 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
374 define KernelPackage/mppe/2.6
375 # KCONFIG:=CONFIG_PPP_MPPE
376 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
377 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
380 define KernelPackage/mppe/description
381 Kernel modules for Microsoft PPP compression/encryption
384 $(eval $(call KernelPackage,mppe))
387 define KernelPackage/sched
388 SUBMENU:=$(NETWORK_SUPPORT_MENU)
389 TITLE:=Traffic schedulers
392 CONFIG_NET_SCH_DSMARK \
393 CONFIG_NET_SCH_ESFQ \
394 CONFIG_NET_SCH_FIFO \
395 CONFIG_NET_SCH_GRED \
396 CONFIG_NET_SCH_HFSC \
398 CONFIG_NET_SCH_INGRESS \
399 CONFIG_NET_SCH_PRIO \
404 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
407 define KernelPackage/sched/description
408 Kernel schedulers for IP traffic
411 $(eval $(call KernelPackage,sched))
414 define KernelPackage/ax25
415 SUBMENU:=$(NETWORK_SUPPORT_MENU)
421 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
422 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
423 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
426 define KernelPackage/ax25/description
427 Kernel modules for AX25 support
430 $(eval $(call KernelPackage,ax25))
433 define KernelPackage/mp-alg
434 SUBMENU:=$(NETWORK_SUPPORT_MENU)
435 TITLE:=ECMP caching algorithms
438 CONFIG_IP_ROUTE_MULTIPATH_RR \
439 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
440 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
441 CONFIG_IP_ROUTE_MULTIPATH_DRR
443 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
444 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
445 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
446 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
447 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
450 define KernelPackage/mp-alg/description
451 Kernel modules that provide several different algorithms for multipath
452 route selection from the route cache. The iproute "mpath" argument allows
453 specifying which algorithm to use for routes.
454 quagga (at least <=0.99.6) requires a multipath patch to support this
455 cached mp route feature.
458 $(eval $(call KernelPackage,mp-alg))
461 NETWORK_DEVICES_MENU:=Network Devices
463 define KernelPackage/natsemi
464 SUBMENU:=$(NETWORK_DEVICES_MENU)
465 TITLE:=National Semiconductor DP8381x series
467 KCONFIG:=CONFIG_NATSEMI
468 FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
469 AUTOLOAD:=$(call AutoLoad,20,natsemi)
472 define KernelPackage/natsemi/description
473 Kernel modules for National Semiconductor DP8381x series PCI Ethernet
477 $(eval $(call KernelPackage,natsemi))
480 define KernelPackage/r6040
481 SUBMENU:=$(NETWORK_DEVICES_MENU)
482 TITLE:=RDC Fast-Ethernet support
484 KCONFIG:=CONFIG_R6040
485 FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
488 define KernelPackage/r6040/description
489 Kernel modules for RDC Fast-Ethernet adapters.
492 $(eval $(call KernelPackage,r6040))
495 define KernelPackage/sis900
496 SUBMENU:=$(NETWORK_DEVICES_MENU)
497 TITLE:=SiS 900 Ethernet support
499 KCONFIG:=CONFIG_SIS900
500 FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
501 AUTOLOAD:=$(call AutoLoad,50,sis900)
504 define KernelPackage/sis900/description
505 Kernel modules for Sis 900 Ethernet adapters.
508 $(eval $(call KernelPackage,sis900))
511 define KernelPackage/via-rhine
512 SUBMENU:=$(NETWORK_DEVICES_MENU)
513 TITLE:=Via Rhine ethernet support
515 KCONFIG:=CONFIG_VIA_RHINE
516 FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
517 AUTOLOAD:=$(call AutoLoad,50,via-rhine)
520 define KernelPackage/via-rhine/description
521 Kernel modules for Via Rhine Ethernet chipsets.
524 $(eval $(call KernelPackage,via-rhine))
527 define KernelPackage/via-velocity
528 SUBMENU:=$(NETWORK_DEVICES_MENU)
529 TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
530 DEPENDS:=@TARGET_ixp4xx
531 KCONFIG:=CONFIG_VIA_VELOCITY
532 FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
533 AUTOLOAD:=$(call AutoLoad,50,via-velocity)
536 define KernelPackage/via-velocity/description
537 Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
540 $(eval $(call KernelPackage,via-velocity))
543 define KernelPackage/8139too
544 SUBMENU:=$(NETWORK_DEVICES_MENU)
545 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
547 KCONFIG:=CONFIG_8139TOO
548 FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
549 AUTOLOAD:=$(call AutoLoad,50,8139too)
552 define KernelPackage/8139too/description
553 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
556 $(eval $(call KernelPackage,8139too))
559 define KernelPackage/r8169
560 SUBMENU:=$(NETWORK_DEVICES_MENU)
561 TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
563 KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
564 FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
565 AUTOLOAD:=$(call AutoLoad,50,r8169)
568 define KernelPackage/r8169/description
569 Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
572 $(eval $(call KernelPackage,r8169))
575 define KernelPackage/ne2k-pci
576 SUBMENU:=$(NETWORK_DEVICES_MENU)
577 TITLE:=ne2k-pci Ethernet Adapter kernel support
579 KCONFIG:=CONFIG_NE2K_PCI
581 $(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
582 $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
583 AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
586 define KernelPackage/ne2k-pci/description
587 Kernel modules for NE2000 PCI Ethernet Adapter kernel.
590 $(eval $(call KernelPackage,ne2k-pci))
593 define KernelPackage/ixp4xx-npe
594 SUBMENU:=$(NETWORK_DEVICES_MENU)
595 TITLE:=Intel(R) IXP4xx ethernet support
596 DEPENDS:=@TARGET_ixp4xx
597 KCONFIG:=CONFIG_IXP4XX_MAC
599 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
600 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
601 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
602 AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
605 define KernelPackage/ixp4xx-npe/description
606 Kernel modules for Intel(R) IXP4xx onboard ethernet.
609 $(eval $(call KernelPackage,ixp4xx-npe))
612 define KernelPackage/e100
613 SUBMENU:=$(NETWORK_DEVICES_MENU)
614 TITLE:=Intel(R) PRO/100+ cards kernel support
617 FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
618 AUTOLOAD:=$(call AutoLoad,50,e100)
621 define KernelPackage/e100/description
622 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
625 $(eval $(call KernelPackage,e100))
628 define KernelPackage/e1000
629 SUBMENU:=$(NETWORK_DEVICES_MENU)
630 TITLE:=Intel(R) PRO/1000 cards kernel support
632 KCONFIG:=CONFIG_E1000
633 FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
634 AUTOLOAD:=$(call AutoLoad,50,e1000)
637 define KernelPackage/e1000/description
638 Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
641 $(eval $(call KernelPackage,e1000))
644 define KernelPackage/3c59x
645 SUBMENU:=$(NETWORK_DEVICES_MENU)
646 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
648 KCONFIG:=CONFIG_VORTEX
649 FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
650 AUTOLOAD:=$(call AutoLoad,50,3c59x)
653 define KernelPackage/3c59x/description
654 This option enables driver support for a large number of 10mbps and
655 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters:
656 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
657 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI
658 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus
659 - "Tornado" (3c905) PCI
660 - "Hurricane" (3c555/3cSOHO) PCI
663 $(eval $(call KernelPackage,3c59x))