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)
124 CONFIG_ISDN_PPP_VJ=y \
126 CONFIG_IPPP_FILTER=y \
127 CONFIG_ISDN_PPP_BSDCOMP \
128 CONFIG_ISDN_AUDIO=y \
129 CONFIG_ISDN_TTY_FAX=y \
131 CONFIG_ISDN_DIVERSION \
132 CONFIG_ISDN_CAPI_CAPIDRV=n \
133 CONFIG_ISDN_DRV_ACT2000=n \
134 CONFIG_ISDN_DRV_GIGASET=n \
135 CONFIG_ISDN_DRV_HISAX=n \
136 CONFIG_ISDN_DRV_ICN=n \
137 CONFIG_ISDN_DRV_LOOP=n \
138 CONFIG_ISDN_DRV_PCBIT=n \
139 CONFIG_ISDN_DRV_SC=n \
142 $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
143 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX) \
144 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.$(LINUX_KMOD_SUFFIX)
145 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
148 define KernelPackage/isdn4linux/description
149 This driver allows you to use an ISDN adapter for networking
152 $(eval $(call KernelPackage,isdn4linux))
155 define KernelPackage/ipip
156 SUBMENU:=$(NETWORK_SUPPORT_MENU)
157 TITLE:=IP-in-IP encapsulation
158 DEPENDS:=+LINUX_2_6:kmod-iptunnel4
159 KCONFIG:=CONFIG_NET_IPIP
160 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
161 AUTOLOAD:=$(call AutoLoad,32,ipip)
164 define KernelPackage/ipip/description
165 Kernel modules for IP-in-IP encapsulation
168 $(eval $(call KernelPackage,ipip))
171 define KernelPackage/ipsec
172 SUBMENU:=$(NETWORK_SUPPORT_MENU)
173 TITLE:=IPsec related modules (IPv4 and IPv6)
174 DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
179 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
180 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
183 define KernelPackage/ipsec/description
184 Kernel modules for IPsec support in both IPv4 and IPv6.
190 $(eval $(call KernelPackage,ipsec))
193 define KernelPackage/ipsec4
194 SUBMENU:=$(NETWORK_SUPPORT_MENU)
195 TITLE:=IPsec related modules (IPv4)
196 DEPENDS:=kmod-ipsec +kmod-iptunnel4
201 CONFIG_INET_XFRM_MODE_BEET \
202 CONFIG_INET_XFRM_MODE_TRANSPORT \
203 CONFIG_INET_XFRM_MODE_TUNNEL \
204 CONFIG_INET_XFRM_TUNNEL
205 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
206 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
210 define KernelPackage/ipsec4/description
211 Kernel modules for IPsec support in IPv4.
217 - xfrm4_mode_transport
222 $(eval $(call KernelPackage,ipsec4))
225 define KernelPackage/ipsec6
226 SUBMENU:=$(NETWORK_SUPPORT_MENU)
227 TITLE:=IPsec related modules (IPv6)
228 DEPENDS:=kmod-ipsec +kmod-iptunnel6
232 CONFIG_INET6_IPCOMP \
233 CONFIG_INET6_XFRM_MODE_BEET \
234 CONFIG_INET6_XFRM_MODE_TRANSPORT \
235 CONFIG_INET6_XFRM_MODE_TUNNEL \
236 CONFIG_INET6_XFRM_TUNNEL
237 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
238 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
242 define KernelPackage/ipsec6/description
243 Kernel modules for IPsec support in IPv6.
249 - xfrm6_mode_transport
254 $(eval $(call KernelPackage,ipsec6))
257 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
258 define KernelPackage/iptunnel4
259 SUBMENU:=$(NETWORK_SUPPORT_MENU)
260 TITLE:=IPv4 tunneling
265 FILES:= $(foreach mod,tunnel4, \
266 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
268 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
271 define KernelPackage/iptunnel4/description
272 Kernel modules for IPv4 tunneling
275 $(eval $(call KernelPackage,iptunnel4))
278 define KernelPackage/iptunnel6
279 SUBMENU:=$(NETWORK_SUPPORT_MENU)
280 TITLE:=IPv6 tunneling
281 DEPENDS:= @LINUX_2_6 +kmod-ipv6
284 FILES:= $(foreach mod,tunnel6, \
285 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
287 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
290 define KernelPackage/iptunnel6/description
291 Kernel modules for IPv6 tunneling
294 $(eval $(call KernelPackage,iptunnel6))
297 define KernelPackage/ipv6
298 SUBMENU:=$(NETWORK_SUPPORT_MENU)
302 CONFIG_IPV6_PRIVACY=y \
303 CONFIG_IPV6_MULTIPLE_TABLES=y \
304 CONFIG_IPV6_MROUTE=y \
305 CONFIG_IPV6_SUBTREES=y
306 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
307 AUTOLOAD:=$(call AutoLoad,20,ipv6)
310 define KernelPackage/ipv6/description
311 Kernel modules for IPv6 support
314 $(eval $(call KernelPackage,ipv6))
317 # sit is not selectable on 2.4, but built when ipv6 is enabled
318 define KernelPackage/sit
319 SUBMENU:=$(NETWORK_SUPPORT_MENU)
320 DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
321 TITLE:=IPv6-in-IPv4 tunnelling
322 KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
323 FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
324 AUTOLOAD:=$(call AutoLoad,32,sit)
327 define KernelPackage/sit/description
328 Kernel modules for IPv6-in-IPv4 tunnelling
331 $(eval $(call KernelPackage,sit))
334 define KernelPackage/ip6-tunnel
335 SUBMENU:=$(NETWORK_SUPPORT_MENU)
336 TITLE:=IP-in-IPv6 tunnelling
337 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
338 KCONFIG:= CONFIG_IPV6_TUNNEL
339 FILES:= $(foreach mod,ip6_tunnel, \
340 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
342 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
345 define KernelPackage/ip6-tunnel/description
346 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
349 $(eval $(call KernelPackage,ip6-tunnel))
352 define KernelPackage/gre
353 SUBMENU:=$(NETWORK_SUPPORT_MENU)
355 KCONFIG:=CONFIG_NET_IPGRE
356 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
359 define KernelPackage/gre/description
360 Generic Routing Encapsulation support
363 $(eval $(call KernelPackage,gre))
366 define KernelPackage/tun
367 SUBMENU:=$(NETWORK_SUPPORT_MENU)
368 TITLE:=Universal TUN/TAP driver
370 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
371 AUTOLOAD:=$(call AutoLoad,30,tun)
374 define KernelPackage/tun/description
375 Kernel support for the TUN/TAP tunneling device
378 $(eval $(call KernelPackage,tun))
381 define KernelPackage/ppp
382 SUBMENU:=$(NETWORK_SUPPORT_MENU)
384 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
390 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
391 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
392 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
393 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
396 define KernelPackage/ppp/description
397 Kernel modules for PPP support
400 $(eval $(call KernelPackage,ppp))
403 define KernelPackage/ppp-synctty
404 SUBMENU:=$(NETWORK_SUPPORT_MENU)
405 TITLE:=PPP sync tty support
407 KCONFIG:=CONFIG_PPP_SYNC_TTY
408 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
409 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
412 define KernelPackage/ppp-synctty/description
413 Kernel modules for PPP sync tty support
416 $(eval $(call KernelPackage,ppp-synctty))
419 define KernelPackage/pppoe
420 SUBMENU:=$(NETWORK_SUPPORT_MENU)
423 KCONFIG:=CONFIG_PPPOE
425 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
426 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
429 define KernelPackage/pppoe/description
430 Kernel modules for PPPoE (PPP over Ethernet) support
433 $(eval $(call KernelPackage,pppoe))
436 define KernelPackage/pppoa
437 SUBMENU:=$(NETWORK_SUPPORT_MENU)
439 DEPENDS:=kmod-ppp +kmod-atm
440 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
441 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
442 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
445 define KernelPackage/pppoa/description
446 Kernel modules for PPPoA (PPP over ATM) support
449 $(eval $(call KernelPackage,pppoa))
452 define KernelPackage/ipoa
453 SUBMENU:=$(NETWORK_SUPPORT_MENU)
456 KCONFIG:=CONFIG_ATM_CLIP
457 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
458 AUTOLOAD:=$(call AutoLoad,40,clip)
461 define KernelPackage/ipoa/description
462 Kernel modules for IPoA (IP over ATM) support
465 $(eval $(call KernelPackage,ipoa))
468 define KernelPackage/mppe
469 SUBMENU:=$(NETWORK_SUPPORT_MENU)
470 TITLE:=Microsoft PPP compression/encryption
471 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
473 CONFIG_PPP_MPPE_MPPC \
477 define KernelPackage/mppe/2.4
478 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
479 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
480 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
483 define KernelPackage/mppe/2.6
484 # KCONFIG:=CONFIG_PPP_MPPE
485 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
486 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
489 define KernelPackage/mppe/description
490 Kernel modules for Microsoft PPP compression/encryption
493 $(eval $(call KernelPackage,mppe))
496 define KernelPackage/sched
497 SUBMENU:=$(NETWORK_SUPPORT_MENU)
498 TITLE:=Traffic schedulers
501 CONFIG_NET_SCH_DSMARK \
502 CONFIG_NET_SCH_ESFQ \
503 CONFIG_NET_SCH_FIFO \
504 CONFIG_NET_SCH_GRED \
505 CONFIG_NET_SCH_HFSC \
507 CONFIG_NET_SCH_INGRESS \
508 CONFIG_NET_SCH_PRIO \
512 CONFIG_NET_SCH_TEQL \
514 CONFIG_NET_CLS_ACT=y \
515 CONFIG_NET_CLS_BASIC \
516 CONFIG_NET_CLS_FLOW \
518 CONFIG_NET_CLS_ROUTE4 \
519 CONFIG_NET_CLS_TCINDEX \
521 CONFIG_NET_ACT_MIRRED \
523 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
526 define KernelPackage/sched/description
527 Kernel schedulers for IP traffic
530 $(eval $(call KernelPackage,sched))
533 define KernelPackage/ax25
534 SUBMENU:=$(NETWORK_SUPPORT_MENU)
541 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
542 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
543 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
546 define KernelPackage/ax25/description
547 Kernel modules for AX25 support
550 $(eval $(call KernelPackage,ax25))
553 define KernelPackage/mp-alg
554 SUBMENU:=$(NETWORK_SUPPORT_MENU)
555 TITLE:=ECMP caching algorithms
558 CONFIG_IP_ROUTE_MULTIPATH_RR \
559 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
560 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
561 CONFIG_IP_ROUTE_MULTIPATH_DRR
563 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
564 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
565 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
566 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
567 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
570 define KernelPackage/mp-alg/description
571 Kernel modules that provide several different algorithms for multipath
572 route selection from the route cache. The iproute "mpath" argument allows
573 specifying which algorithm to use for routes.
574 quagga (at least <=0.99.6) requires a multipath patch to support this
575 cached mp route feature.
578 $(eval $(call KernelPackage,mp-alg))
581 define KernelPackage/pktgen
582 SUBMENU:=$(NETWORK_SUPPORT_MENU)
583 TITLE:=Network packet generator
585 KCONFIG:=CONFIG_NET_PKTGEN
586 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
587 AUTOLOAD:=$(call AutoLoad,99,pktgen)
590 define KernelPackage/pktgen/description
591 Kernel modules for the Network Packet Generator
594 $(eval $(call KernelPackage,pktgen))