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
149 $(LINUX_DIR)/drivers/isdn/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
152 define KernelPackage/isdn4linux/2.6
156 $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
157 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
160 define KernelPackage/isdn4linux/description
161 This driver allows you to use an ISDN adapter for networking
164 $(eval $(call KernelPackage,isdn4linux))
167 define KernelPackage/ipip
168 SUBMENU:=$(NETWORK_SUPPORT_MENU)
169 TITLE:=IP-in-IP encapsulation
170 DEPENDS:=+LINUX_2_6:kmod-iptunnel4
171 KCONFIG:=CONFIG_NET_IPIP
172 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
173 AUTOLOAD:=$(call AutoLoad,32,ipip)
176 define KernelPackage/ipip/description
177 Kernel modules for IP-in-IP encapsulation
180 $(eval $(call KernelPackage,ipip))
183 define KernelPackage/ipsec
184 SUBMENU:=$(NETWORK_SUPPORT_MENU)
185 TITLE:=IPsec related modules (IPv4 and IPv6)
186 DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
191 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
192 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
195 define KernelPackage/ipsec/description
196 Kernel modules for IPsec support in both IPv4 and IPv6.
202 $(eval $(call KernelPackage,ipsec))
205 define KernelPackage/ipsec4
206 SUBMENU:=$(NETWORK_SUPPORT_MENU)
207 TITLE:=IPsec related modules (IPv4)
208 DEPENDS:=kmod-ipsec +kmod-iptunnel4
213 CONFIG_INET_XFRM_MODE_BEET \
214 CONFIG_INET_XFRM_MODE_TRANSPORT \
215 CONFIG_INET_XFRM_MODE_TUNNEL \
216 CONFIG_INET_XFRM_TUNNEL
217 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
218 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
222 define KernelPackage/ipsec4/description
223 Kernel modules for IPsec support in IPv4.
229 - xfrm4_mode_transport
234 $(eval $(call KernelPackage,ipsec4))
237 define KernelPackage/ipsec6
238 SUBMENU:=$(NETWORK_SUPPORT_MENU)
239 TITLE:=IPsec related modules (IPv6)
240 DEPENDS:=kmod-ipsec +kmod-iptunnel6
244 CONFIG_INET6_IPCOMP \
245 CONFIG_INET6_XFRM_MODE_BEET \
246 CONFIG_INET6_XFRM_MODE_TRANSPORT \
247 CONFIG_INET6_XFRM_MODE_TUNNEL \
248 CONFIG_INET6_XFRM_TUNNEL
249 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
250 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
254 define KernelPackage/ipsec6/description
255 Kernel modules for IPsec support in IPv6.
261 - xfrm6_mode_transport
266 $(eval $(call KernelPackage,ipsec6))
269 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
270 define KernelPackage/iptunnel4
271 SUBMENU:=$(NETWORK_SUPPORT_MENU)
272 TITLE:=IPv4 tunneling
277 FILES:= $(foreach mod,tunnel4, \
278 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
280 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
283 define KernelPackage/iptunnel4/description
284 Kernel modules for IPv4 tunneling
287 $(eval $(call KernelPackage,iptunnel4))
290 define KernelPackage/iptunnel6
291 SUBMENU:=$(NETWORK_SUPPORT_MENU)
292 TITLE:=IPv6 tunneling
293 DEPENDS:= @LINUX_2_6 +kmod-ipv6
296 FILES:= $(foreach mod,tunnel6, \
297 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
299 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
302 define KernelPackage/iptunnel6/description
303 Kernel modules for IPv6 tunneling
306 $(eval $(call KernelPackage,iptunnel6))
309 define KernelPackage/ipv6
310 SUBMENU:=$(NETWORK_SUPPORT_MENU)
314 CONFIG_IPV6_PRIVACY=y \
315 CONFIG_IPV6_MULTIPLE_TABLES=y \
316 CONFIG_IPV6_MROUTE=y \
317 CONFIG_IPV6_PIMSM_V2=n \
318 CONFIG_IPV6_SUBTREES=y
319 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
320 AUTOLOAD:=$(call AutoLoad,20,ipv6)
323 define KernelPackage/ipv6/description
324 Kernel modules for IPv6 support
327 $(eval $(call KernelPackage,ipv6))
330 # sit is not selectable on 2.4, but built when ipv6 is enabled
331 define KernelPackage/sit
332 SUBMENU:=$(NETWORK_SUPPORT_MENU)
333 DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
334 TITLE:=IPv6-in-IPv4 tunnelling
335 KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
336 FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
337 AUTOLOAD:=$(call AutoLoad,32,sit)
340 define KernelPackage/sit/description
341 Kernel modules for IPv6-in-IPv4 tunnelling
344 $(eval $(call KernelPackage,sit))
347 define KernelPackage/ip6-tunnel
348 SUBMENU:=$(NETWORK_SUPPORT_MENU)
349 TITLE:=IP-in-IPv6 tunnelling
350 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
351 KCONFIG:= CONFIG_IPV6_TUNNEL
352 FILES:= $(foreach mod,ip6_tunnel, \
353 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
355 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
358 define KernelPackage/ip6-tunnel/description
359 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
362 $(eval $(call KernelPackage,ip6-tunnel))
365 define KernelPackage/gre
366 SUBMENU:=$(NETWORK_SUPPORT_MENU)
368 KCONFIG:=CONFIG_NET_IPGRE
369 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
372 define KernelPackage/gre/description
373 Generic Routing Encapsulation support
376 $(eval $(call KernelPackage,gre))
379 define KernelPackage/tun
380 SUBMENU:=$(NETWORK_SUPPORT_MENU)
381 TITLE:=Universal TUN/TAP driver
383 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
384 AUTOLOAD:=$(call AutoLoad,30,tun)
387 define KernelPackage/tun/description
388 Kernel support for the TUN/TAP tunneling device
391 $(eval $(call KernelPackage,tun))
394 define KernelPackage/ppp
395 SUBMENU:=$(NETWORK_SUPPORT_MENU)
397 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
403 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
404 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
405 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
406 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
409 define KernelPackage/ppp/description
410 Kernel modules for PPP support
413 $(eval $(call KernelPackage,ppp))
416 define KernelPackage/ppp-synctty
417 SUBMENU:=$(NETWORK_SUPPORT_MENU)
418 TITLE:=PPP sync tty support
420 KCONFIG:=CONFIG_PPP_SYNC_TTY
421 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
422 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
425 define KernelPackage/ppp-synctty/description
426 Kernel modules for PPP sync tty support
429 $(eval $(call KernelPackage,ppp-synctty))
432 define KernelPackage/pppoe
433 SUBMENU:=$(NETWORK_SUPPORT_MENU)
436 KCONFIG:=CONFIG_PPPOE
438 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
439 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
442 define KernelPackage/pppoe/description
443 Kernel modules for PPPoE (PPP over Ethernet) support
446 $(eval $(call KernelPackage,pppoe))
449 define KernelPackage/pppoa
450 SUBMENU:=$(NETWORK_SUPPORT_MENU)
452 DEPENDS:=kmod-ppp +kmod-atm
453 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
454 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
455 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
458 define KernelPackage/pppoa/description
459 Kernel modules for PPPoA (PPP over ATM) support
462 $(eval $(call KernelPackage,pppoa))
464 define KernelPackage/pppol2tp
465 SUBMENU:=$(NETWORK_SUPPORT_MENU)
466 TITLE:=PPPoL2TP support
467 DEPENDS:=kmod-ppp +kmod-pppoe @!LINUX_2_6_21||!LINUX_2_6_25||!LINUX_2_6_27
468 KCONFIG:=CONFIG_PPPOL2TP
469 FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.$(LINUX_KMOD_SUFFIX)
470 AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
473 define KernelPackage/pppol2tp/description
474 Kernel modules for PPPoL2TP (PPP over L2TP) support
477 $(eval $(call KernelPackage,pppol2tp))
480 define KernelPackage/ipoa
481 SUBMENU:=$(NETWORK_SUPPORT_MENU)
484 KCONFIG:=CONFIG_ATM_CLIP
485 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
486 AUTOLOAD:=$(call AutoLoad,40,clip)
489 define KernelPackage/ipoa/description
490 Kernel modules for IPoA (IP over ATM) support
493 $(eval $(call KernelPackage,ipoa))
496 define KernelPackage/mppe
497 SUBMENU:=$(NETWORK_SUPPORT_MENU)
498 TITLE:=Microsoft PPP compression/encryption
499 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
501 CONFIG_PPP_MPPE_MPPC \
505 define KernelPackage/mppe/2.4
506 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
507 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
508 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
511 define KernelPackage/mppe/2.6
512 # KCONFIG:=CONFIG_PPP_MPPE
513 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
514 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
517 define KernelPackage/mppe/description
518 Kernel modules for Microsoft PPP compression/encryption
521 $(eval $(call KernelPackage,mppe))
524 define KernelPackage/sched
525 SUBMENU:=$(NETWORK_SUPPORT_MENU)
526 TITLE:=Traffic schedulers
529 CONFIG_NET_SCH_DSMARK \
530 CONFIG_NET_SCH_ESFQ \
531 CONFIG_NET_SCH_ESFQ_NFCT=y \
532 CONFIG_NET_SCH_FIFO \
533 CONFIG_NET_SCH_GRED \
534 CONFIG_NET_SCH_HFSC \
536 CONFIG_NET_SCH_INGRESS \
537 CONFIG_NET_SCH_PRIO \
540 CONFIG_NET_SCH_TEQL \
542 CONFIG_NET_CLS_ACT=y \
543 CONFIG_NET_CLS_BASIC \
544 CONFIG_NET_CLS_FLOW \
546 CONFIG_NET_CLS_ROUTE4 \
547 CONFIG_NET_CLS_TCINDEX \
549 CONFIG_NET_ACT_MIRRED \
551 CONFIG_NET_ACT_POLICE \
552 CONFIG_NET_EMATCH=y \
553 CONFIG_NET_EMATCH_CMP \
554 CONFIG_NET_EMATCH_NBYTE \
555 CONFIG_NET_EMATCH_U32 \
556 CONFIG_NET_EMATCH_META \
557 CONFIG_NET_EMATCH_TEXT
558 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
561 define KernelPackage/sched/description
562 Kernel schedulers for IP traffic
565 $(eval $(call KernelPackage,sched))
568 define KernelPackage/ax25
569 SUBMENU:=$(NETWORK_SUPPORT_MENU)
576 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
577 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
578 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
581 define KernelPackage/ax25/description
582 Kernel modules for AX25 support
585 $(eval $(call KernelPackage,ax25))
588 define KernelPackage/mp-alg
589 SUBMENU:=$(NETWORK_SUPPORT_MENU)
590 TITLE:=ECMP caching algorithms
593 CONFIG_IP_ROUTE_MULTIPATH_RR \
594 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
595 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
596 CONFIG_IP_ROUTE_MULTIPATH_DRR
598 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
599 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
600 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
601 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
602 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
605 define KernelPackage/mp-alg/description
606 Kernel modules that provide several different algorithms for multipath
607 route selection from the route cache. The iproute "mpath" argument allows
608 specifying which algorithm to use for routes.
609 quagga (at least <=0.99.6) requires a multipath patch to support this
610 cached mp route feature.
613 $(eval $(call KernelPackage,mp-alg))
616 define KernelPackage/pktgen
617 SUBMENU:=$(NETWORK_SUPPORT_MENU)
618 TITLE:=Network packet generator
620 KCONFIG:=CONFIG_NET_PKTGEN
621 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
622 AUTOLOAD:=$(call AutoLoad,99,pktgen)
625 define KernelPackage/pktgen/description
626 Kernel modules for the Network Packet Generator
629 $(eval $(call KernelPackage,pktgen))