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)
17 $(LINUX_DIR)/net/atm/atm.ko \
18 $(LINUX_DIR)/net/atm/br2684.ko
19 AUTOLOAD:=$(call AutoLoad,30,atm br2684)
22 define KernelPackage/atm/description
23 Kernel modules for ATM support
26 $(eval $(call KernelPackage,atm))
29 define KernelPackage/atmtcp
30 SUBMENU:=$(NETWORK_SUPPORT_MENU)
33 KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
34 FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.ko
35 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
38 define KernelPackage/atmtcp/description
39 Kernel module for ATM over TCP support
42 $(eval $(call KernelPackage,atmtcp))
45 define KernelPackage/appletalk
46 SUBMENU:=$(NETWORK_SUPPORT_MENU)
47 TITLE:=Appletalk protocol support
50 CONFIG_DEV_APPLETALK \
52 CONFIG_IPDDP_ENCAP=y \
55 $(LINUX_DIR)/net/appletalk/appletalk.ko \
56 $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
57 AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
60 define KernelPackage/appletalk/description
61 Kernel module for AppleTalk protocol.
64 $(eval $(call KernelPackage,appletalk))
67 define KernelPackage/bonding
68 SUBMENU:=$(NETWORK_SUPPORT_MENU)
69 TITLE:=Ethernet bonding driver
70 KCONFIG:=CONFIG_BONDING
71 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
72 AUTOLOAD:=$(call AutoLoad,40,bonding)
75 define KernelPackage/bonding/description
76 Kernel module for NIC bonding.
79 $(eval $(call KernelPackage,bonding))
82 define KernelPackage/capi
83 SUBMENU:=$(NETWORK_SUPPORT_MENU)
84 TITLE:=CAPI (ISDN) Support
87 CONFIG_ISDN_CAPI_CAPI20 \
89 CONFIG_ISDN_CAPI_CAPIFS
91 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
92 $(LINUX_DIR)/drivers/isdn/capi/capifs.ko \
93 $(LINUX_DIR)/drivers/isdn/capi/capi.ko
94 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
97 define KernelPackage/capi/description
98 Kernel module for basic CAPI (ISDN) support
101 $(eval $(call KernelPackage,capi))
103 define KernelPackage/misdn
104 SUBMENU:=$(NETWORK_SUPPORT_MENU)
105 TITLE:=mISDN (ISDN) Support
112 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
113 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
114 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
115 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
118 define KernelPackage/misdn/description
119 Modular ISDN driver support
122 $(eval $(call KernelPackage,misdn))
125 define KernelPackage/isdn4linux
126 SUBMENU:=$(NETWORK_SUPPORT_MENU)
127 TITLE:=Old ISDN4Linux (deprecated)
132 CONFIG_ISDN_PPP_VJ=y \
134 CONFIG_IPPP_FILTER=y \
135 CONFIG_ISDN_PPP_BSDCOMP \
136 CONFIG_ISDN_CAPI_MIDDLEWARE=y \
137 CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
138 CONFIG_ISDN_AUDIO=y \
139 CONFIG_ISDN_TTY_FAX=y \
141 CONFIG_ISDN_DIVERSION
143 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
144 $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
145 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
146 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
149 define KernelPackage/isdn4linux/description
150 This driver allows you to use an ISDN adapter for networking
153 $(eval $(call KernelPackage,isdn4linux))
156 define KernelPackage/ipip
157 SUBMENU:=$(NETWORK_SUPPORT_MENU)
158 TITLE:=IP-in-IP encapsulation
159 DEPENDS:=+kmod-iptunnel4
160 KCONFIG:=CONFIG_NET_IPIP
161 FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
162 AUTOLOAD:=$(call AutoLoad,32,ipip)
165 define KernelPackage/ipip/description
166 Kernel modules for IP-in-IP encapsulation
169 $(eval $(call KernelPackage,ipip))
177 define KernelPackage/ipsec
178 SUBMENU:=$(NETWORK_SUPPORT_MENU)
179 TITLE:=IPsec related modules (IPv4 and IPv6)
180 DEPENDS:=+kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
186 FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
187 AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
190 define KernelPackage/ipsec/description
191 Kernel modules for IPsec support in both IPv4 and IPv6.
198 $(eval $(call KernelPackage,ipsec))
204 ipv4/xfrm4_mode_beet \
205 ipv4/xfrm4_mode_transport \
206 ipv4/xfrm4_mode_tunnel \
210 define KernelPackage/ipsec4
211 SUBMENU:=$(NETWORK_SUPPORT_MENU)
212 TITLE:=IPsec related modules (IPv4)
213 DEPENDS:=kmod-ipsec +kmod-iptunnel4
218 CONFIG_INET_XFRM_MODE_BEET \
219 CONFIG_INET_XFRM_MODE_TRANSPORT \
220 CONFIG_INET_XFRM_MODE_TUNNEL \
221 CONFIG_INET_XFRM_TUNNEL
222 FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
223 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
226 define KernelPackage/ipsec4/description
227 Kernel modules for IPsec support in IPv4.
233 - xfrm4_mode_transport
238 $(eval $(call KernelPackage,ipsec4))
244 ipv6/xfrm6_mode_beet \
245 ipv6/xfrm6_mode_transport \
246 ipv6/xfrm6_mode_tunnel \
250 define KernelPackage/ipsec6
251 SUBMENU:=$(NETWORK_SUPPORT_MENU)
252 TITLE:=IPsec related modules (IPv6)
253 DEPENDS:=kmod-ipsec +kmod-iptunnel6
257 CONFIG_INET6_IPCOMP \
258 CONFIG_INET6_XFRM_MODE_BEET \
259 CONFIG_INET6_XFRM_MODE_TRANSPORT \
260 CONFIG_INET6_XFRM_MODE_TUNNEL \
261 CONFIG_INET6_XFRM_TUNNEL
262 FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
263 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
266 define KernelPackage/ipsec6/description
267 Kernel modules for IPsec support in IPv6.
273 - xfrm6_mode_transport
278 $(eval $(call KernelPackage,ipsec6))
281 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
282 define KernelPackage/iptunnel4
283 SUBMENU:=$(NETWORK_SUPPORT_MENU)
284 TITLE:=IPv4 tunneling
288 FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
289 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
292 define KernelPackage/iptunnel4/description
293 Kernel modules for IPv4 tunneling
296 $(eval $(call KernelPackage,iptunnel4))
299 define KernelPackage/iptunnel6
300 SUBMENU:=$(NETWORK_SUPPORT_MENU)
301 TITLE:=IPv6 tunneling
305 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
306 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
309 define KernelPackage/iptunnel6/description
310 Kernel modules for IPv6 tunneling
313 $(eval $(call KernelPackage,iptunnel6))
316 define KernelPackage/ipv6
317 SUBMENU:=$(NETWORK_SUPPORT_MENU)
321 CONFIG_IPV6_PRIVACY=y \
322 CONFIG_IPV6_MULTIPLE_TABLES=y \
323 CONFIG_IPV6_MROUTE=y \
324 CONFIG_IPV6_PIMSM_V2=n \
325 CONFIG_IPV6_SUBTREES=y
326 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
327 AUTOLOAD:=$(call AutoLoad,20,ipv6)
330 define KernelPackage/ipv6/description
331 Kernel modules for IPv6 support
334 $(eval $(call KernelPackage,ipv6))
337 define KernelPackage/sit
338 SUBMENU:=$(NETWORK_SUPPORT_MENU)
339 DEPENDS:=+kmod-ipv6 +kmod-iptunnel4
340 TITLE:=IPv6-in-IPv4 tunnel
341 KCONFIG:=CONFIG_IPV6_SIT \
342 CONFIG_IPV6_SIT_6RD=y
343 FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
344 AUTOLOAD:=$(call AutoLoad,32,sit)
347 define KernelPackage/sit/description
348 Kernel modules for IPv6-in-IPv4 tunnelling
351 $(eval $(call KernelPackage,sit))
354 define KernelPackage/ip6-tunnel
355 SUBMENU:=$(NETWORK_SUPPORT_MENU)
356 TITLE:=IP-in-IPv6 tunnelling
357 DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
358 KCONFIG:= CONFIG_IPV6_TUNNEL
359 FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
360 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
363 define KernelPackage/ip6-tunnel/description
364 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
367 $(eval $(call KernelPackage,ip6-tunnel))
370 define KernelPackage/gre
371 SUBMENU:=$(NETWORK_SUPPORT_MENU)
373 KCONFIG:=CONFIG_NET_IPGRE
374 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.ko
377 define KernelPackage/gre/description
378 Generic Routing Encapsulation support
381 $(eval $(call KernelPackage,gre))
384 define KernelPackage/tun
385 SUBMENU:=$(NETWORK_SUPPORT_MENU)
386 TITLE:=Universal TUN/TAP driver
388 FILES:=$(LINUX_DIR)/drivers/net/tun.ko
389 AUTOLOAD:=$(call AutoLoad,30,tun)
392 define KernelPackage/tun/description
393 Kernel support for the TUN/TAP tunneling device
396 $(eval $(call KernelPackage,tun))
399 define KernelPackage/ppp
400 SUBMENU:=$(NETWORK_SUPPORT_MENU)
402 DEPENDS:=+kmod-crc-ccitt
408 $(LINUX_DIR)/drivers/net/ppp_async.ko \
409 $(LINUX_DIR)/drivers/net/ppp_generic.ko \
410 $(LINUX_DIR)/drivers/net/slhc.ko
411 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
414 define KernelPackage/ppp/description
415 Kernel modules for PPP support
418 $(eval $(call KernelPackage,ppp))
421 define KernelPackage/ppp-synctty
422 SUBMENU:=$(NETWORK_SUPPORT_MENU)
423 TITLE:=PPP sync tty support
425 KCONFIG:=CONFIG_PPP_SYNC_TTY
426 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
427 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
430 define KernelPackage/ppp-synctty/description
431 Kernel modules for PPP sync tty support
434 $(eval $(call KernelPackage,ppp-synctty))
437 define KernelPackage/pppoe
438 SUBMENU:=$(NETWORK_SUPPORT_MENU)
441 KCONFIG:=CONFIG_PPPOE
443 $(LINUX_DIR)/drivers/net/pppoe.ko \
444 $(LINUX_DIR)/drivers/net/pppox.ko
445 AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
448 define KernelPackage/pppoe/description
449 Kernel modules for PPPoE (PPP over Ethernet) support
452 $(eval $(call KernelPackage,pppoe))
455 define KernelPackage/pppoa
456 SUBMENU:=$(NETWORK_SUPPORT_MENU)
458 DEPENDS:=kmod-ppp +kmod-atm
459 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
460 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
461 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
464 define KernelPackage/pppoa/description
465 Kernel modules for PPPoA (PPP over ATM) support
468 $(eval $(call KernelPackage,pppoa))
470 define KernelPackage/pppol2tp
471 SUBMENU:=$(NETWORK_SUPPORT_MENU)
472 TITLE:=PPPoL2TP support
473 DEPENDS:=kmod-ppp +kmod-pppoe +LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37:kmod-l2tp
474 KCONFIG:=CONFIG_PPPOL2TP
475 ifneq ($(CONFIG_LINUX_2_6_35)$(CONFIG_LINUX_2_6_36)$(CONFIG_LINUX_2_6_37),)
476 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.mod.o
478 FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
480 AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
483 define KernelPackage/pppol2tp/description
484 Kernel modules for PPPoL2TP (PPP over L2TP) support
487 $(eval $(call KernelPackage,pppol2tp))
490 define KernelPackage/ipoa
491 SUBMENU:=$(NETWORK_SUPPORT_MENU)
494 KCONFIG:=CONFIG_ATM_CLIP
495 FILES:=$(LINUX_DIR)/net/atm/clip.ko
496 AUTOLOAD:=$(call AutoLoad,40,clip)
499 define KernelPackage/ipoa/description
500 Kernel modules for IPoA (IP over ATM) support
503 $(eval $(call KernelPackage,ipoa))
506 define KernelPackage/mppe
507 SUBMENU:=$(NETWORK_SUPPORT_MENU)
508 TITLE:=Microsoft PPP compression/encryption
509 DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1
511 CONFIG_PPP_MPPE_MPPC \
513 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
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 \
541 CONFIG_NET_SCH_TEQL \
543 CONFIG_NET_CLS_ACT=y \
544 CONFIG_NET_CLS_BASIC \
545 CONFIG_NET_CLS_FLOW \
547 CONFIG_NET_CLS_ROUTE4 \
548 CONFIG_NET_CLS_TCINDEX \
550 CONFIG_NET_ACT_MIRRED \
552 CONFIG_NET_ACT_POLICE \
553 CONFIG_NET_EMATCH=y \
554 CONFIG_NET_EMATCH_CMP \
555 CONFIG_NET_EMATCH_NBYTE \
556 CONFIG_NET_EMATCH_U32 \
557 CONFIG_NET_EMATCH_META \
558 CONFIG_NET_EMATCH_TEXT
559 FILES:=$(LINUX_DIR)/net/sched/*.ko
562 define KernelPackage/sched/description
563 Kernel schedulers for IP traffic
566 $(eval $(call KernelPackage,sched))
569 define KernelPackage/ax25
570 SUBMENU:=$(NETWORK_SUPPORT_MENU)
576 $(LINUX_DIR)/net/ax25/ax25.ko \
577 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
578 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
579 $(call AddDepends/crc16)
582 define KernelPackage/ax25/description
583 Kernel modules for AX25 support
586 $(eval $(call KernelPackage,ax25))
589 define KernelPackage/mp-alg
590 SUBMENU:=$(NETWORK_SUPPORT_MENU)
591 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.ko \
599 $(LINUX_DIR)/net/ipv4/multipath_random.ko \
600 $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
601 $(LINUX_DIR)/net/ipv4/multipath_drr.ko
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
619 KCONFIG:=CONFIG_NET_PKTGEN
620 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
621 AUTOLOAD:=$(call AutoLoad,99,pktgen)
624 define KernelPackage/pktgen/description
625 Kernel modules for the Network Packet Generator
628 $(eval $(call KernelPackage,pktgen))
630 define KernelPackage/l2tp
631 SUBMENU:=$(NETWORK_SUPPORT_MENU)
632 DEPENDS:=@LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37
633 TITLE:=L2TPv3 Support
634 KCONFIG:=CONFIG_L2TP CONFIG_L2TP_DEBUGFS=n
635 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.$(LINUX_KMOD_SUFFIX)
636 AUTOLOAD:=$(call AutoLoad,32,l2tp_core)
639 define KernelPackage/l2tp/description
640 Kernel modules for L2TP V3 Support
643 $(eval $(call KernelPackage,l2tp))
645 define KernelPackage/l2tp-eth
646 SUBMENU:=$(NETWORK_SUPPORT_MENU)
647 TITLE:=L2TP ethernet pseudowire support for L2TPv3
649 KCONFIG:= CONFIG_L2TP_V3=y \
652 $(LINUX_DIR)/net/l2tp/l2tp_netlink.$(LINUX_KMOD_SUFFIX) \
653 $(LINUX_DIR)/net/l2tp/l2tp_eth.$(LINUX_KMOD_SUFFIX)
654 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink l2tp_eth)
657 define KernelPackage/l2tp-eth/description
658 Kernel modules for L2TP V3 pseudowire support
661 $(eval $(call KernelPackage,l2tp-eth))
663 define KernelPackage/l2tp-ip
664 SUBMENU:=$(NETWORK_SUPPORT_MENU)
665 TITLE:=Support for L2TP-over-IP socket family
667 KCONFIG:= CONFIG_L2TP_V3=y \
669 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.$(LINUX_KMOD_SUFFIX)
670 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_ip)
673 define KernelPackage/l2tp-ip/description
674 Kernel modules for L2TP-over-IP socket family
677 $(eval $(call KernelPackage,l2tp-ip))
680 define KernelPackage/sctp
681 SUBMENU:=$(NETWORK_SUPPORT_MENU)
682 TITLE:=SCTP protocol kernel support
685 CONFIG_SCTP_DBG_MSG=n \
686 CONFIG_SCTP_DBG_OBJCNT=n \
687 CONFIG_SCTP_HMAC_NONE=n \
688 CONFIG_SCTP_HMAC_SHA1=n \
689 CONFIG_SCTP_HMAC_MD5=y
690 FILES:= $(LINUX_DIR)/net/sctp/sctp.$(LINUX_KMOD_SUFFIX)
691 AUTOLOAD:= $(call AutoLoad,32,sctp)
692 DEPENDS:=+kmod-libcrc32c +kmod-crypto-md5 +kmod-crypto-hmac
695 define KernelPackage/sctp/description
696 Kernel modules for SCTP protocol support
699 $(eval $(call KernelPackage,sctp))