2 # Copyright (C) 2006-2008 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 NETWORK_SUPPORT_MENU:=Network Support
10 define KernelPackage/atm
11 SUBMENU:=$(NETWORK_SUPPORT_MENU)
18 $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
19 $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
20 AUTOLOAD:=$(call AutoLoad,30,atm br2684)
23 define KernelPackage/atm/description
24 Kernel modules for ATM support
27 $(eval $(call KernelPackage,atm))
30 define KernelPackage/atmtcp
31 SUBMENU:=$(NETWORK_SUPPORT_MENU)
33 DEPENDS:=@LINUX_2_6 kmod-atm
34 KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
35 FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
36 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
39 define KernelPackage/atmtcp/description
40 Kernel module for ATM over TCP support
43 $(eval $(call KernelPackage,atmtcp))
46 define KernelPackage/bonding
47 SUBMENU:=$(NETWORK_SUPPORT_MENU)
48 TITLE:=Ethernet bonding driver
49 KCONFIG:=CONFIG_BONDING
50 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
51 AUTOLOAD:=$(call AutoLoad,40,bonding)
54 define KernelPackage/bonding/description
55 Kernel module for NIC bonding.
58 $(eval $(call KernelPackage,bonding))
61 define KernelPackage/capi
62 SUBMENU:=$(NETWORK_SUPPORT_MENU)
63 TITLE:=CAPI (ISDN) Support
67 CONFIG_ISDN_CAPI_CAPI20 \
70 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
71 $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
72 $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
73 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
76 define KernelPackage/capi/description
77 Kernel module for basic CAPI (ISDN) support
80 $(eval $(call KernelPackage,capi))
82 define KernelPackage/misdn
83 SUBMENU:=$(NETWORK_SUPPORT_MENU)
84 TITLE:=mISDN (ISDN) Support
92 CONFIG_ISDN_WITH_ABC=n \
93 CONFIG_ISDN_DRV_LOOP=n \
94 CONFIG_ISDN_DIVERSION=n \
95 CONFIG_ISDN_DRV_HISAX=n \
96 CONFIG_ISDN_DRV_ICN=n \
97 CONFIG_ISDN_DRV_PCBIT=n \
98 CONFIG_ISDN_DRV_SC=n \
99 CONFIG_ISDN_DRV_ACT2000=n \
100 CONFIG_ISDN_DRV_EICON=n \
101 CONFIG_ISDN_DRV_TPAM=n \
104 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.$(LINUX_KMOD_SUFFIX) \
105 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.$(LINUX_KMOD_SUFFIX) \
106 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.$(LINUX_KMOD_SUFFIX)
107 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
110 define KernelPackage/misdn/description
111 Modular ISDN driver support
114 $(eval $(call KernelPackage,misdn))
117 define KernelPackage/isdn4linux
118 SUBMENU:=$(NETWORK_SUPPORT_MENU)
119 TITLE:=Old ISDN4Linux (deprecated)
123 CONFIG_ISDN_PPP_VJ=y \
125 CONFIG_IPPP_FILTER=y \
126 CONFIG_ISDN_PPP_BSDCOMP \
127 CONFIG_ISDN_AUDIO=y \
128 CONFIG_ISDN_TTY_FAX=y \
130 CONFIG_ISDN_DIVERSION \
131 CONFIG_ISDN_CAPI_CAPIDRV=n \
132 CONFIG_ISDN_DRV_ACT2000=n \
133 CONFIG_ISDN_DRV_GIGASET=n \
134 CONFIG_ISDN_DRV_HISAX=n \
135 CONFIG_ISDN_DRV_ICN=n \
136 CONFIG_ISDN_DRV_LOOP=n \
137 CONFIG_ISDN_DRV_PCBIT=n \
138 CONFIG_ISDN_DRV_SC=n \
141 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.$(LINUX_KMOD_SUFFIX) \
142 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
145 define KernelPackage/isdn4linux/2.4
148 $(LINUX_DIR)/drivers/isdn/isdn.$(LINUX_KMOD_SUFFIX) \
149 $(LINUX_DIR)/drivers/isdn/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
152 define KernelPackage/isdn4linux/2.6
153 KCONFIG+=CONFIG_ISDN=y
155 $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
156 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
159 define KernelPackage/isdn4linux/description
160 This driver allows you to use an ISDN adapter for networking
163 $(eval $(call KernelPackage,isdn4linux))
166 define KernelPackage/ipip
167 SUBMENU:=$(NETWORK_SUPPORT_MENU)
168 TITLE:=IP-in-IP encapsulation
169 DEPENDS:=+LINUX_2_6:kmod-iptunnel4
170 KCONFIG:=CONFIG_NET_IPIP
171 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
172 AUTOLOAD:=$(call AutoLoad,32,ipip)
175 define KernelPackage/ipip/description
176 Kernel modules for IP-in-IP encapsulation
179 $(eval $(call KernelPackage,ipip))
182 define KernelPackage/ipsec
183 SUBMENU:=$(NETWORK_SUPPORT_MENU)
184 TITLE:=IPsec related modules (IPv4 and IPv6)
185 DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
190 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
191 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
194 define KernelPackage/ipsec/description
195 Kernel modules for IPsec support in both IPv4 and IPv6.
201 $(eval $(call KernelPackage,ipsec))
204 define KernelPackage/ipsec4
205 SUBMENU:=$(NETWORK_SUPPORT_MENU)
206 TITLE:=IPsec related modules (IPv4)
207 DEPENDS:=kmod-ipsec +kmod-iptunnel4
212 CONFIG_INET_XFRM_MODE_BEET \
213 CONFIG_INET_XFRM_MODE_TRANSPORT \
214 CONFIG_INET_XFRM_MODE_TUNNEL \
215 CONFIG_INET_XFRM_TUNNEL
216 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
217 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
221 define KernelPackage/ipsec4/description
222 Kernel modules for IPsec support in IPv4.
228 - xfrm4_mode_transport
233 $(eval $(call KernelPackage,ipsec4))
236 define KernelPackage/ipsec6
237 SUBMENU:=$(NETWORK_SUPPORT_MENU)
238 TITLE:=IPsec related modules (IPv6)
239 DEPENDS:=kmod-ipsec +kmod-iptunnel6
243 CONFIG_INET6_IPCOMP \
244 CONFIG_INET6_XFRM_MODE_BEET \
245 CONFIG_INET6_XFRM_MODE_TRANSPORT \
246 CONFIG_INET6_XFRM_MODE_TUNNEL \
247 CONFIG_INET6_XFRM_TUNNEL
248 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
249 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
253 define KernelPackage/ipsec6/description
254 Kernel modules for IPsec support in IPv6.
260 - xfrm6_mode_transport
265 $(eval $(call KernelPackage,ipsec6))
268 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
269 define KernelPackage/iptunnel4
270 SUBMENU:=$(NETWORK_SUPPORT_MENU)
271 TITLE:=IPv4 tunneling
276 FILES:= $(foreach mod,tunnel4, \
277 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
279 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
282 define KernelPackage/iptunnel4/description
283 Kernel modules for IPv4 tunneling
286 $(eval $(call KernelPackage,iptunnel4))
289 define KernelPackage/iptunnel6
290 SUBMENU:=$(NETWORK_SUPPORT_MENU)
291 TITLE:=IPv6 tunneling
292 DEPENDS:= @LINUX_2_6 +kmod-ipv6
295 FILES:= $(foreach mod,tunnel6, \
296 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
298 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
301 define KernelPackage/iptunnel6/description
302 Kernel modules for IPv6 tunneling
305 $(eval $(call KernelPackage,iptunnel6))
308 define KernelPackage/ipv6
309 SUBMENU:=$(NETWORK_SUPPORT_MENU)
313 CONFIG_IPV6_PRIVACY=y \
314 CONFIG_IPV6_MULTIPLE_TABLES=y \
315 CONFIG_IPV6_MROUTE=y \
316 CONFIG_IPV6_PIMSM_V2=n \
317 CONFIG_IPV6_SUBTREES=y
318 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
319 AUTOLOAD:=$(call AutoLoad,20,ipv6)
322 define KernelPackage/ipv6/description
323 Kernel modules for IPv6 support
326 $(eval $(call KernelPackage,ipv6))
329 # sit is not selectable on 2.4, but built when ipv6 is enabled
330 define KernelPackage/sit
331 SUBMENU:=$(NETWORK_SUPPORT_MENU)
332 DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
333 TITLE:=IPv6-in-IPv4 tunnelling
334 KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
335 FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
336 AUTOLOAD:=$(call AutoLoad,32,sit)
339 define KernelPackage/sit/description
340 Kernel modules for IPv6-in-IPv4 tunnelling
343 $(eval $(call KernelPackage,sit))
346 define KernelPackage/ip6-tunnel
347 SUBMENU:=$(NETWORK_SUPPORT_MENU)
348 TITLE:=IP-in-IPv6 tunnelling
349 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
350 KCONFIG:= CONFIG_IPV6_TUNNEL
351 FILES:= $(foreach mod,ip6_tunnel, \
352 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
354 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
357 define KernelPackage/ip6-tunnel/description
358 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
361 $(eval $(call KernelPackage,ip6-tunnel))
364 define KernelPackage/gre
365 SUBMENU:=$(NETWORK_SUPPORT_MENU)
367 KCONFIG:=CONFIG_NET_IPGRE
368 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
371 define KernelPackage/gre/description
372 Generic Routing Encapsulation support
375 $(eval $(call KernelPackage,gre))
378 define KernelPackage/tun
379 SUBMENU:=$(NETWORK_SUPPORT_MENU)
380 TITLE:=Universal TUN/TAP driver
382 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
383 AUTOLOAD:=$(call AutoLoad,30,tun)
386 define KernelPackage/tun/description
387 Kernel support for the TUN/TAP tunneling device
390 $(eval $(call KernelPackage,tun))
393 define KernelPackage/ppp
394 SUBMENU:=$(NETWORK_SUPPORT_MENU)
396 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
402 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
403 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
404 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
405 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
408 define KernelPackage/ppp/description
409 Kernel modules for PPP support
412 $(eval $(call KernelPackage,ppp))
415 define KernelPackage/ppp-synctty
416 SUBMENU:=$(NETWORK_SUPPORT_MENU)
417 TITLE:=PPP sync tty support
419 KCONFIG:=CONFIG_PPP_SYNC_TTY
420 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
421 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
424 define KernelPackage/ppp-synctty/description
425 Kernel modules for PPP sync tty support
428 $(eval $(call KernelPackage,ppp-synctty))
431 define KernelPackage/pppoe
432 SUBMENU:=$(NETWORK_SUPPORT_MENU)
435 KCONFIG:=CONFIG_PPPOE
437 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
438 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
441 define KernelPackage/pppoe/description
442 Kernel modules for PPPoE (PPP over Ethernet) support
445 $(eval $(call KernelPackage,pppoe))
448 define KernelPackage/pppoa
449 SUBMENU:=$(NETWORK_SUPPORT_MENU)
451 DEPENDS:=kmod-ppp +kmod-atm
452 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
453 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
454 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
457 define KernelPackage/pppoa/description
458 Kernel modules for PPPoA (PPP over ATM) support
461 $(eval $(call KernelPackage,pppoa))
464 define KernelPackage/ipoa
465 SUBMENU:=$(NETWORK_SUPPORT_MENU)
468 KCONFIG:=CONFIG_ATM_CLIP
469 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
470 AUTOLOAD:=$(call AutoLoad,40,clip)
473 define KernelPackage/ipoa/description
474 Kernel modules for IPoA (IP over ATM) support
477 $(eval $(call KernelPackage,ipoa))
480 define KernelPackage/mppe
481 SUBMENU:=$(NETWORK_SUPPORT_MENU)
482 TITLE:=Microsoft PPP compression/encryption
483 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
485 CONFIG_PPP_MPPE_MPPC \
489 define KernelPackage/mppe/2.4
490 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
491 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
492 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
495 define KernelPackage/mppe/2.6
496 # KCONFIG:=CONFIG_PPP_MPPE
497 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
498 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
501 define KernelPackage/mppe/description
502 Kernel modules for Microsoft PPP compression/encryption
505 $(eval $(call KernelPackage,mppe))
508 define KernelPackage/sched
509 SUBMENU:=$(NETWORK_SUPPORT_MENU)
510 TITLE:=Traffic schedulers
513 CONFIG_NET_SCH_DSMARK \
514 CONFIG_NET_SCH_ESFQ \
515 CONFIG_NET_SCH_ESFQ_NFCT=y \
516 CONFIG_NET_SCH_FIFO \
517 CONFIG_NET_SCH_GRED \
518 CONFIG_NET_SCH_HFSC \
520 CONFIG_NET_SCH_INGRESS \
521 CONFIG_NET_SCH_PRIO \
524 CONFIG_NET_SCH_TEQL \
526 CONFIG_NET_CLS_ACT=y \
527 CONFIG_NET_CLS_BASIC \
528 CONFIG_NET_CLS_FLOW \
530 CONFIG_NET_CLS_ROUTE4 \
531 CONFIG_NET_CLS_TCINDEX \
533 CONFIG_NET_ACT_MIRRED \
535 CONFIG_NET_ACT_POLICE \
536 CONFIG_NET_EMATCH=y \
537 CONFIG_NET_EMATCH_CMP \
538 CONFIG_NET_EMATCH_NBYTE \
539 CONFIG_NET_EMATCH_U32 \
540 CONFIG_NET_EMATCH_META \
541 CONFIG_NET_EMATCH_TEXT
542 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
545 define KernelPackage/sched/description
546 Kernel schedulers for IP traffic
549 $(eval $(call KernelPackage,sched))
552 define KernelPackage/ax25
553 SUBMENU:=$(NETWORK_SUPPORT_MENU)
560 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
561 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
562 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
565 define KernelPackage/ax25/description
566 Kernel modules for AX25 support
569 $(eval $(call KernelPackage,ax25))
572 define KernelPackage/mp-alg
573 SUBMENU:=$(NETWORK_SUPPORT_MENU)
574 TITLE:=ECMP caching algorithms
577 CONFIG_IP_ROUTE_MULTIPATH_RR \
578 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
579 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
580 CONFIG_IP_ROUTE_MULTIPATH_DRR
582 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
583 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
584 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
585 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
586 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
589 define KernelPackage/mp-alg/description
590 Kernel modules that provide several different algorithms for multipath
591 route selection from the route cache. The iproute "mpath" argument allows
592 specifying which algorithm to use for routes.
593 quagga (at least <=0.99.6) requires a multipath patch to support this
594 cached mp route feature.
597 $(eval $(call KernelPackage,mp-alg))
600 define KernelPackage/pktgen
601 SUBMENU:=$(NETWORK_SUPPORT_MENU)
602 TITLE:=Network packet generator
604 KCONFIG:=CONFIG_NET_PKTGEN
605 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
606 AUTOLOAD:=$(call AutoLoad,99,pktgen)
609 define KernelPackage/pktgen/description
610 Kernel modules for the Network Packet Generator
613 $(eval $(call KernelPackage,pktgen))