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.$(LINUX_KMOD_SUFFIX) \
150 $(LINUX_DIR)/drivers/isdn/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
153 define KernelPackage/isdn4linux/2.6
157 $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
158 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
161 define KernelPackage/isdn4linux/description
162 This driver allows you to use an ISDN adapter for networking
165 $(eval $(call KernelPackage,isdn4linux))
168 define KernelPackage/ipip
169 SUBMENU:=$(NETWORK_SUPPORT_MENU)
170 TITLE:=IP-in-IP encapsulation
171 DEPENDS:=+LINUX_2_6:kmod-iptunnel4
172 KCONFIG:=CONFIG_NET_IPIP
173 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
174 AUTOLOAD:=$(call AutoLoad,32,ipip)
177 define KernelPackage/ipip/description
178 Kernel modules for IP-in-IP encapsulation
181 $(eval $(call KernelPackage,ipip))
184 define KernelPackage/ipsec
185 SUBMENU:=$(NETWORK_SUPPORT_MENU)
186 TITLE:=IPsec related modules (IPv4 and IPv6)
187 DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
192 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
193 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
196 define KernelPackage/ipsec/description
197 Kernel modules for IPsec support in both IPv4 and IPv6.
203 $(eval $(call KernelPackage,ipsec))
206 define KernelPackage/ipsec4
207 SUBMENU:=$(NETWORK_SUPPORT_MENU)
208 TITLE:=IPsec related modules (IPv4)
209 DEPENDS:=kmod-ipsec +kmod-iptunnel4
214 CONFIG_INET_XFRM_MODE_BEET \
215 CONFIG_INET_XFRM_MODE_TRANSPORT \
216 CONFIG_INET_XFRM_MODE_TUNNEL \
217 CONFIG_INET_XFRM_TUNNEL
218 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
219 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
223 define KernelPackage/ipsec4/description
224 Kernel modules for IPsec support in IPv4.
230 - xfrm4_mode_transport
235 $(eval $(call KernelPackage,ipsec4))
238 define KernelPackage/ipsec6
239 SUBMENU:=$(NETWORK_SUPPORT_MENU)
240 TITLE:=IPsec related modules (IPv6)
241 DEPENDS:=kmod-ipsec +kmod-iptunnel6
245 CONFIG_INET6_IPCOMP \
246 CONFIG_INET6_XFRM_MODE_BEET \
247 CONFIG_INET6_XFRM_MODE_TRANSPORT \
248 CONFIG_INET6_XFRM_MODE_TUNNEL \
249 CONFIG_INET6_XFRM_TUNNEL
250 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
251 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
255 define KernelPackage/ipsec6/description
256 Kernel modules for IPsec support in IPv6.
262 - xfrm6_mode_transport
267 $(eval $(call KernelPackage,ipsec6))
270 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
271 define KernelPackage/iptunnel4
272 SUBMENU:=$(NETWORK_SUPPORT_MENU)
273 TITLE:=IPv4 tunneling
278 FILES:= $(foreach mod,tunnel4, \
279 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
281 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
284 define KernelPackage/iptunnel4/description
285 Kernel modules for IPv4 tunneling
288 $(eval $(call KernelPackage,iptunnel4))
291 define KernelPackage/iptunnel6
292 SUBMENU:=$(NETWORK_SUPPORT_MENU)
293 TITLE:=IPv6 tunneling
294 DEPENDS:= @LINUX_2_6 +kmod-ipv6
297 FILES:= $(foreach mod,tunnel6, \
298 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
300 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
303 define KernelPackage/iptunnel6/description
304 Kernel modules for IPv6 tunneling
307 $(eval $(call KernelPackage,iptunnel6))
310 define KernelPackage/ipv6
311 SUBMENU:=$(NETWORK_SUPPORT_MENU)
315 CONFIG_IPV6_PRIVACY=y \
316 CONFIG_IPV6_MULTIPLE_TABLES=y \
317 CONFIG_IPV6_MROUTE=y \
318 CONFIG_IPV6_PIMSM_V2=n \
319 CONFIG_IPV6_SUBTREES=y
320 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
321 AUTOLOAD:=$(call AutoLoad,20,ipv6)
324 define KernelPackage/ipv6/description
325 Kernel modules for IPv6 support
328 $(eval $(call KernelPackage,ipv6))
331 # sit is not selectable on 2.4, but built when ipv6 is enabled
332 define KernelPackage/sit
333 SUBMENU:=$(NETWORK_SUPPORT_MENU)
334 DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
335 TITLE:=IPv6-in-IPv4 tunnelling
336 KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
337 FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
338 AUTOLOAD:=$(call AutoLoad,32,sit)
341 define KernelPackage/sit/description
342 Kernel modules for IPv6-in-IPv4 tunnelling
345 $(eval $(call KernelPackage,sit))
348 define KernelPackage/ip6-tunnel
349 SUBMENU:=$(NETWORK_SUPPORT_MENU)
350 TITLE:=IP-in-IPv6 tunnelling
351 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
352 KCONFIG:= CONFIG_IPV6_TUNNEL
353 FILES:= $(foreach mod,ip6_tunnel, \
354 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
356 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
359 define KernelPackage/ip6-tunnel/description
360 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
363 $(eval $(call KernelPackage,ip6-tunnel))
366 define KernelPackage/gre
367 SUBMENU:=$(NETWORK_SUPPORT_MENU)
369 KCONFIG:=CONFIG_NET_IPGRE
370 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
373 define KernelPackage/gre/description
374 Generic Routing Encapsulation support
377 $(eval $(call KernelPackage,gre))
380 define KernelPackage/tun
381 SUBMENU:=$(NETWORK_SUPPORT_MENU)
382 TITLE:=Universal TUN/TAP driver
384 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
385 AUTOLOAD:=$(call AutoLoad,30,tun)
388 define KernelPackage/tun/description
389 Kernel support for the TUN/TAP tunneling device
392 $(eval $(call KernelPackage,tun))
395 define KernelPackage/ppp
396 SUBMENU:=$(NETWORK_SUPPORT_MENU)
398 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
404 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
405 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
406 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
407 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
410 define KernelPackage/ppp/description
411 Kernel modules for PPP support
414 $(eval $(call KernelPackage,ppp))
417 define KernelPackage/ppp-synctty
418 SUBMENU:=$(NETWORK_SUPPORT_MENU)
419 TITLE:=PPP sync tty support
421 KCONFIG:=CONFIG_PPP_SYNC_TTY
422 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
423 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
426 define KernelPackage/ppp-synctty/description
427 Kernel modules for PPP sync tty support
430 $(eval $(call KernelPackage,ppp-synctty))
433 define KernelPackage/pppoe
434 SUBMENU:=$(NETWORK_SUPPORT_MENU)
437 KCONFIG:=CONFIG_PPPOE
439 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
440 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
443 define KernelPackage/pppoe/description
444 Kernel modules for PPPoE (PPP over Ethernet) support
447 $(eval $(call KernelPackage,pppoe))
450 define KernelPackage/pppoa
451 SUBMENU:=$(NETWORK_SUPPORT_MENU)
453 DEPENDS:=kmod-ppp +kmod-atm
454 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
455 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
456 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
459 define KernelPackage/pppoa/description
460 Kernel modules for PPPoA (PPP over ATM) support
463 $(eval $(call KernelPackage,pppoa))
466 define KernelPackage/ipoa
467 SUBMENU:=$(NETWORK_SUPPORT_MENU)
470 KCONFIG:=CONFIG_ATM_CLIP
471 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
472 AUTOLOAD:=$(call AutoLoad,40,clip)
475 define KernelPackage/ipoa/description
476 Kernel modules for IPoA (IP over ATM) support
479 $(eval $(call KernelPackage,ipoa))
482 define KernelPackage/mppe
483 SUBMENU:=$(NETWORK_SUPPORT_MENU)
484 TITLE:=Microsoft PPP compression/encryption
485 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
487 CONFIG_PPP_MPPE_MPPC \
491 define KernelPackage/mppe/2.4
492 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
493 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
494 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
497 define KernelPackage/mppe/2.6
498 # KCONFIG:=CONFIG_PPP_MPPE
499 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
500 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
503 define KernelPackage/mppe/description
504 Kernel modules for Microsoft PPP compression/encryption
507 $(eval $(call KernelPackage,mppe))
510 define KernelPackage/sched
511 SUBMENU:=$(NETWORK_SUPPORT_MENU)
512 TITLE:=Traffic schedulers
515 CONFIG_NET_SCH_DSMARK \
516 CONFIG_NET_SCH_ESFQ \
517 CONFIG_NET_SCH_ESFQ_NFCT=y \
518 CONFIG_NET_SCH_FIFO \
519 CONFIG_NET_SCH_GRED \
520 CONFIG_NET_SCH_HFSC \
522 CONFIG_NET_SCH_INGRESS \
523 CONFIG_NET_SCH_PRIO \
526 CONFIG_NET_SCH_TEQL \
528 CONFIG_NET_CLS_ACT=y \
529 CONFIG_NET_CLS_BASIC \
530 CONFIG_NET_CLS_FLOW \
532 CONFIG_NET_CLS_ROUTE4 \
533 CONFIG_NET_CLS_TCINDEX \
535 CONFIG_NET_ACT_MIRRED \
537 CONFIG_NET_ACT_POLICE \
538 CONFIG_NET_EMATCH=y \
539 CONFIG_NET_EMATCH_CMP \
540 CONFIG_NET_EMATCH_NBYTE \
541 CONFIG_NET_EMATCH_U32 \
542 CONFIG_NET_EMATCH_META \
543 CONFIG_NET_EMATCH_TEXT
544 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
547 define KernelPackage/sched/description
548 Kernel schedulers for IP traffic
551 $(eval $(call KernelPackage,sched))
554 define KernelPackage/ax25
555 SUBMENU:=$(NETWORK_SUPPORT_MENU)
562 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
563 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
564 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
567 define KernelPackage/ax25/description
568 Kernel modules for AX25 support
571 $(eval $(call KernelPackage,ax25))
574 define KernelPackage/mp-alg
575 SUBMENU:=$(NETWORK_SUPPORT_MENU)
576 TITLE:=ECMP caching algorithms
579 CONFIG_IP_ROUTE_MULTIPATH_RR \
580 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
581 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
582 CONFIG_IP_ROUTE_MULTIPATH_DRR
584 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
585 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
586 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
587 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
588 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
591 define KernelPackage/mp-alg/description
592 Kernel modules that provide several different algorithms for multipath
593 route selection from the route cache. The iproute "mpath" argument allows
594 specifying which algorithm to use for routes.
595 quagga (at least <=0.99.6) requires a multipath patch to support this
596 cached mp route feature.
599 $(eval $(call KernelPackage,mp-alg))
602 define KernelPackage/pktgen
603 SUBMENU:=$(NETWORK_SUPPORT_MENU)
604 TITLE:=Network packet generator
606 KCONFIG:=CONFIG_NET_PKTGEN
607 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
608 AUTOLOAD:=$(call AutoLoad,99,pktgen)
611 define KernelPackage/pktgen/description
612 Kernel modules for the Network Packet Generator
615 $(eval $(call KernelPackage,pktgen))