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
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)
176 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
177 AUTOLOAD:=$(call AutoLoad,30,ipip)
180 define KernelPackage/iptunnel4/2.6
181 # KCONFIG+=CONFIG_INET_TUNNEL
182 FILES+=$(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
183 AUTOLOAD+=$(call AutoLoad,31,tunnel4)
186 define KernelPackage/iptunnel4/description
187 Kernel modules for IPv4 tunneling (IP in IP encapsulation)
190 $(eval $(call KernelPackage,iptunnel4))
193 define KernelPackage/iptunnel6
194 SUBMENU:=$(NETWORK_SUPPORT_MENU)
195 TITLE:=IP tunneling (IPv6)
197 KCONFIG:=CONFIG_INET6_TUNNEL
198 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.$(LINUX_KMOD_SUFFIX)
199 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
202 define KernelPackage/iptunnel6/description
203 Kernel modules for IPv6 tunneling (IPv6 in IPv6 tunnels)
206 $(eval $(call KernelPackage,iptunnel6))
209 define KernelPackage/ipv6
210 SUBMENU:=$(NETWORK_SUPPORT_MENU)
215 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
216 AUTOLOAD:=$(call AutoLoad,20,ipv6)
219 define KernelPackage/ipv6/2.6
220 # KCONFIG+=CONFIG_IPV6_SIT
221 FILES+=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
222 AUTOLOAD+=$(call AutoLoad,21,sit)
225 define KernelPackage/ipv6/description
226 Kernel modules for IPv6 support
229 $(eval $(call KernelPackage,ipv6))
232 define KernelPackage/gre
233 SUBMENU:=$(NETWORK_SUPPORT_MENU)
235 KCONFIG:=CONFIG_NET_IPGRE
236 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
239 define KernelPackage/gre/description
240 Generic Routing Encapsulation support
243 $(eval $(call KernelPackage,gre))
246 define KernelPackage/tun
247 SUBMENU:=$(NETWORK_SUPPORT_MENU)
248 TITLE:=Universal TUN/TAP driver
250 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
251 AUTOLOAD:=$(call AutoLoad,30,tun)
254 define KernelPackage/tun/description
255 Kernel support for the TUN/TAP tunneling device
258 $(eval $(call KernelPackage,tun))
261 define KernelPackage/ppp
262 SUBMENU:=$(NETWORK_SUPPORT_MENU)
270 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
271 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
272 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
275 define KernelPackage/ppp/2.4
276 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
279 define KernelPackage/ppp/2.6
284 $(LINUX_DIR)/lib/crc-ccitt.$(LINUX_KMOD_SUFFIX)
285 AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
288 define KernelPackage/ppp/description
289 Kernel modules for PPP support
292 $(eval $(call KernelPackage,ppp))
295 define KernelPackage/ppp-synctty
296 SUBMENU:=$(NETWORK_SUPPORT_MENU)
297 TITLE:=PPP sync tty support
299 KCONFIG:=CONFIG_PPP_SYNC_TTY
300 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
301 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
304 define KernelPackage/ppp-synctty/description
305 Kernel modules for PPP sync tty support
308 $(eval $(call KernelPackage,ppp-synctty))
311 define KernelPackage/pppoe
312 SUBMENU:=$(NETWORK_SUPPORT_MENU)
315 KCONFIG:=CONFIG_PPPOE
317 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
318 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
321 define KernelPackage/pppoe/description
322 Kernel modules for PPPoE (PPP over Ethernet) support
325 $(eval $(call KernelPackage,pppoe))
328 define KernelPackage/pppoa
329 SUBMENU:=$(NETWORK_SUPPORT_MENU)
331 DEPENDS:=kmod-ppp +kmod-atm
332 KCONFIG:=CONFIG_PPPOATM
333 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
334 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
337 define KernelPackage/pppoa/description
338 Kernel modules for PPPoA (PPP over ATM) support
341 $(eval $(call KernelPackage,pppoa))
344 define KernelPackage/ipoa
345 SUBMENU:=$(NETWORK_SUPPORT_MENU)
348 KCONFIG:=CONFIG_ATM_CLIP
349 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
350 AUTOLOAD:=$(call AutoLoad,40,clip)
353 define KernelPackage/ipoa/description
354 Kernel modules for IPoA (IP over ATM) support
357 $(eval $(call KernelPackage,ipoa))
360 define KernelPackage/mppe
361 SUBMENU:=$(NETWORK_SUPPORT_MENU)
362 TITLE:=Microsoft PPP compression/encryption
363 DEPENDS:=kmod-ppp +kmod-crypto
365 CONFIG_PPP_MPPE_MPPC \
369 define KernelPackage/mppe/2.4
370 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
371 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
372 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
375 define KernelPackage/mppe/2.6
376 # KCONFIG:=CONFIG_PPP_MPPE
377 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
378 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
381 define KernelPackage/mppe/description
382 Kernel modules for Microsoft PPP compression/encryption
385 $(eval $(call KernelPackage,mppe))
388 define KernelPackage/sched
389 SUBMENU:=$(NETWORK_SUPPORT_MENU)
390 TITLE:=Traffic schedulers
393 CONFIG_NET_SCH_DSMARK \
394 CONFIG_NET_SCH_ESFQ \
395 CONFIG_NET_SCH_FIFO \
396 CONFIG_NET_SCH_GRED \
397 CONFIG_NET_SCH_HFSC \
399 CONFIG_NET_SCH_INGRESS \
400 CONFIG_NET_SCH_PRIO \
405 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
408 define KernelPackage/sched/description
409 Kernel schedulers for IP traffic
412 $(eval $(call KernelPackage,sched))
415 define KernelPackage/ax25
416 SUBMENU:=$(NETWORK_SUPPORT_MENU)
422 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
423 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
424 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
427 define KernelPackage/ax25/description
428 Kernel modules for AX25 support
431 $(eval $(call KernelPackage,ax25))
434 define KernelPackage/mp-alg
435 SUBMENU:=$(NETWORK_SUPPORT_MENU)
436 TITLE:=ECMP caching algorithms
439 CONFIG_IP_ROUTE_MULTIPATH_RR \
440 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
441 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
442 CONFIG_IP_ROUTE_MULTIPATH_DRR
444 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
445 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
446 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
447 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
448 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
451 define KernelPackage/mp-alg/description
452 Kernel modules that provide several different algorithms for multipath
453 route selection from the route cache. The iproute "mpath" argument allows
454 specifying which algorithm to use for routes.
455 quagga (at least <=0.99.6) requires a multipath patch to support this
456 cached mp route feature.
459 $(eval $(call KernelPackage,mp-alg))
462 NETWORK_DEVICES_MENU:=Network Devices
464 define KernelPackage/natsemi
465 SUBMENU:=$(NETWORK_DEVICES_MENU)
466 TITLE:=National Semiconductor DP8381x series
468 KCONFIG:=CONFIG_NATSEMI
469 FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
470 AUTOLOAD:=$(call AutoLoad,20,natsemi)
473 define KernelPackage/natsemi/description
474 Kernel modules for National Semiconductor DP8381x series PCI Ethernet
478 $(eval $(call KernelPackage,natsemi))
481 define KernelPackage/r6040
482 SUBMENU:=$(NETWORK_DEVICES_MENU)
483 TITLE:=RDC Fast-Ethernet support
485 KCONFIG:=CONFIG_R6040
486 FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
489 define KernelPackage/r6040/description
490 Kernel modules for RDC Fast-Ethernet adapters.
493 $(eval $(call KernelPackage,r6040))
496 define KernelPackage/sis900
497 SUBMENU:=$(NETWORK_DEVICES_MENU)
498 TITLE:=SiS 900 Ethernet support
500 KCONFIG:=CONFIG_SIS900
501 FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
502 AUTOLOAD:=$(call AutoLoad,50,sis900)
505 define KernelPackage/sis900/description
506 Kernel modules for Sis 900 Ethernet adapters.
509 $(eval $(call KernelPackage,sis900))
512 define KernelPackage/via-rhine
513 SUBMENU:=$(NETWORK_DEVICES_MENU)
514 TITLE:=Via Rhine ethernet support
516 KCONFIG:=CONFIG_VIA_RHINE
517 FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
518 AUTOLOAD:=$(call AutoLoad,50,via-rhine)
521 define KernelPackage/via-rhine/description
522 Kernel modules for Via Rhine Ethernet chipsets.
525 $(eval $(call KernelPackage,via-rhine))
528 define KernelPackage/via-velocity
529 SUBMENU:=$(NETWORK_DEVICES_MENU)
530 TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
531 DEPENDS:=@TARGET_ixp4xx
532 KCONFIG:=CONFIG_VIA_VELOCITY
533 FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
534 AUTOLOAD:=$(call AutoLoad,50,via-velocity)
537 define KernelPackage/via-velocity/description
538 Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
541 $(eval $(call KernelPackage,via-velocity))
544 define KernelPackage/8139too
545 SUBMENU:=$(NETWORK_DEVICES_MENU)
546 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
548 KCONFIG:=CONFIG_8139TOO
549 FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
550 AUTOLOAD:=$(call AutoLoad,50,8139too)
553 define KernelPackage/8139too/description
554 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
557 $(eval $(call KernelPackage,8139too))
560 define KernelPackage/r8169
561 SUBMENU:=$(NETWORK_DEVICES_MENU)
562 TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
564 KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
565 FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
566 AUTOLOAD:=$(call AutoLoad,50,r8169)
569 define KernelPackage/r8169/description
570 Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
573 $(eval $(call KernelPackage,r8169))
576 define KernelPackage/ne2k-pci
577 SUBMENU:=$(NETWORK_DEVICES_MENU)
578 TITLE:=ne2k-pci Ethernet Adapter kernel support
580 KCONFIG:=CONFIG_NE2K_PCI
582 $(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
583 $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
584 AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
587 define KernelPackage/ne2k-pci/description
588 Kernel modules for NE2000 PCI Ethernet Adapter kernel.
591 $(eval $(call KernelPackage,ne2k-pci))
594 define KernelPackage/ixp4xx-npe
595 SUBMENU:=$(NETWORK_DEVICES_MENU)
596 TITLE:=Intel(R) IXP4xx ethernet support
597 DEPENDS:=@TARGET_ixp4xx
598 KCONFIG:=CONFIG_IXP4XX_MAC
600 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
601 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
602 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
603 AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
606 define KernelPackage/ixp4xx-npe/description
607 Kernel modules for Intel(R) IXP4xx onboard ethernet.
610 $(eval $(call KernelPackage,ixp4xx-npe))
613 define KernelPackage/e100
614 SUBMENU:=$(NETWORK_DEVICES_MENU)
615 TITLE:=Intel(R) PRO/100+ cards kernel support
618 FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
619 AUTOLOAD:=$(call AutoLoad,50,e100)
622 define KernelPackage/e100/description
623 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
626 $(eval $(call KernelPackage,e100))
629 define KernelPackage/e1000
630 SUBMENU:=$(NETWORK_DEVICES_MENU)
631 TITLE:=Intel(R) PRO/1000 cards kernel support
633 KCONFIG:=CONFIG_E1000
634 FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
635 AUTOLOAD:=$(call AutoLoad,50,e1000)
638 define KernelPackage/e1000/description
639 Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
642 $(eval $(call KernelPackage,e1000))
645 define KernelPackage/3c59x
646 SUBMENU:=$(NETWORK_DEVICES_MENU)
647 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
649 KCONFIG:=CONFIG_3C59X
650 FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
651 AUTOLOAD:=$(call AutoLoad,50,3c59x)
654 define KernelPackage/3c59x/description
655 This option enables driver support for a large number of 10mbps and
656 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters:
657 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
658 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI
659 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus
660 - "Tornado" (3c905) PCI
661 - "Hurricane" (3c555/3cSOHO) PCI
664 $(eval $(call KernelPackage,3c59x))