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
/appletalk
47 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
48 TITLE
:=Appletalk protocol support
52 CONFIG_DEV_APPLETALK \
54 CONFIG_IPDDP_ENCAP
=y \
57 $(LINUX_DIR
)/net
/appletalk
/appletalk.
$(LINUX_KMOD_SUFFIX
) \
58 $(LINUX_DIR
)/drivers
/net
/appletalk
/ipddp.
$(LINUX_KMOD_SUFFIX
)
59 AUTOLOAD
:=$(call AutoLoad
,40,appletalk ipddp
)
62 define KernelPackage
/appletalk
/description
63 Kernel module for AppleTalk protocol.
66 $(eval
$(call KernelPackage
,appletalk
))
69 define KernelPackage
/bonding
70 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
71 TITLE
:=Ethernet bonding driver
72 KCONFIG
:=CONFIG_BONDING
73 FILES
:=$(LINUX_DIR
)/drivers
/net
/bonding
/bonding.
$(LINUX_KMOD_SUFFIX
)
74 AUTOLOAD
:=$(call AutoLoad
,40,bonding
)
77 define KernelPackage
/bonding
/description
78 Kernel module for NIC bonding.
81 $(eval
$(call KernelPackage
,bonding
))
84 define KernelPackage
/capi
85 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
86 TITLE
:=CAPI
(ISDN
) Support
90 CONFIG_ISDN_CAPI_CAPI20 \
92 CONFIG_ISDN_CAPI_CAPIFS
94 $(LINUX_DIR
)/drivers
/isdn
/capi
/kernelcapi.
$(LINUX_KMOD_SUFFIX
) \
95 $(LINUX_DIR
)/drivers
/isdn
/capi
/capifs.
$(LINUX_KMOD_SUFFIX
) \
96 $(LINUX_DIR
)/drivers
/isdn
/capi
/capi.
$(LINUX_KMOD_SUFFIX
)
97 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capifs capi
)
100 define KernelPackage
/capi
/description
101 Kernel module for basic CAPI
(ISDN
) support
104 $(eval
$(call KernelPackage
,capi
))
106 define KernelPackage
/misdn
107 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
108 TITLE
:=mISDN
(ISDN
) Support
115 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.
$(LINUX_KMOD_SUFFIX
) \
116 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.
$(LINUX_KMOD_SUFFIX
) \
117 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.
$(LINUX_KMOD_SUFFIX
)
118 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
121 define KernelPackage
/misdn
/description
122 Modular ISDN driver support
125 $(eval
$(call KernelPackage
,misdn
))
128 define KernelPackage
/isdn4linux
129 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
130 TITLE
:=Old ISDN4Linux
(deprecated
)
136 CONFIG_ISDN_PPP_VJ
=y \
138 CONFIG_IPPP_FILTER
=y \
139 CONFIG_ISDN_PPP_BSDCOMP \
140 CONFIG_ISDN_CAPI_MIDDLEWARE
=y \
141 CONFIG_ISDN_CAPI_CAPIFS_BOOL
=y \
142 CONFIG_ISDN_AUDIO
=y \
143 CONFIG_ISDN_TTY_FAX
=y \
145 CONFIG_ISDN_DIVERSION
147 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.
$(LINUX_KMOD_SUFFIX
) \
148 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.
$(LINUX_KMOD_SUFFIX
) \
149 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
150 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
153 define KernelPackage
/isdn4linux
/description
154 This driver allows you to use an ISDN adapter for networking
157 $(eval
$(call KernelPackage
,isdn4linux
))
160 define KernelPackage
/ipip
161 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
162 TITLE
:=IP-in-IP encapsulation
163 DEPENDS
:=+LINUX_2_6
:kmod-iptunnel4
164 KCONFIG
:=CONFIG_NET_IPIP
165 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
166 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
169 define KernelPackage
/ipip
/description
170 Kernel modules for IP-in-IP encapsulation
173 $(eval
$(call KernelPackage
,ipip
))
181 define KernelPackage
/ipsec
182 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
183 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
184 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
189 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
190 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
193 define KernelPackage
/ipsec
/description
194 Kernel modules for IPsec support in both IPv4 and IPv6.
201 $(eval
$(call KernelPackage
,ipsec
))
207 ipv4
/xfrm4_mode_beet \
208 ipv4
/xfrm4_mode_transport \
209 ipv4
/xfrm4_mode_tunnel \
213 define KernelPackage
/ipsec4
214 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
215 TITLE
:=IPsec related modules
(IPv4
)
216 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
221 CONFIG_INET_XFRM_MODE_BEET \
222 CONFIG_INET_XFRM_MODE_TRANSPORT \
223 CONFIG_INET_XFRM_MODE_TUNNEL \
224 CONFIG_INET_XFRM_TUNNEL
225 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
226 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
229 define KernelPackage
/ipsec4
/description
230 Kernel modules for IPsec support in IPv4.
236 - xfrm4_mode_transport
241 $(eval
$(call KernelPackage
,ipsec4
))
247 ipv6
/xfrm6_mode_beet \
248 ipv6
/xfrm6_mode_transport \
249 ipv6
/xfrm6_mode_tunnel \
253 define KernelPackage
/ipsec6
254 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
255 TITLE
:=IPsec related modules
(IPv6
)
256 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
260 CONFIG_INET6_IPCOMP \
261 CONFIG_INET6_XFRM_MODE_BEET \
262 CONFIG_INET6_XFRM_MODE_TRANSPORT \
263 CONFIG_INET6_XFRM_MODE_TUNNEL \
264 CONFIG_INET6_XFRM_TUNNEL
265 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
266 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
269 define KernelPackage
/ipsec6
/description
270 Kernel modules for IPsec support in IPv6.
276 - xfrm6_mode_transport
281 $(eval
$(call KernelPackage
,ipsec6
))
284 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
285 define KernelPackage
/iptunnel4
286 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
287 TITLE
:=IPv4 tunneling
292 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.
$(LINUX_KMOD_SUFFIX
)
293 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
296 define KernelPackage
/iptunnel4
/description
297 Kernel modules for IPv4 tunneling
300 $(eval
$(call KernelPackage
,iptunnel4
))
303 define KernelPackage
/iptunnel6
304 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
305 TITLE
:=IPv6 tunneling
306 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
309 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.
$(LINUX_KMOD_SUFFIX
)
310 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
313 define KernelPackage
/iptunnel6
/description
314 Kernel modules for IPv6 tunneling
317 $(eval
$(call KernelPackage
,iptunnel6
))
320 define KernelPackage
/ipv6
321 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
325 CONFIG_IPV6_PRIVACY
=y \
326 CONFIG_IPV6_MULTIPLE_TABLES
=y \
327 CONFIG_IPV6_MROUTE
=y \
328 CONFIG_IPV6_PIMSM_V2
=n \
329 CONFIG_IPV6_SUBTREES
=y
330 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
331 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
334 define KernelPackage
/ipv6
/description
335 Kernel modules for IPv6 support
338 $(eval
$(call KernelPackage
,ipv6
))
341 define KernelPackage
/sit
342 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
343 DEPENDS
:=+kmod-ipv6
+kmod-iptunnel4
344 TITLE
:=IPv6-in-IPv4 tunnelling
345 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
346 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
347 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
350 define KernelPackage
/sit
/description
351 Kernel modules for IPv6-in-IPv4 tunnelling
354 $(eval
$(call KernelPackage
,sit
))
357 define KernelPackage
/ip6-tunnel
358 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
359 TITLE
:=IP-in-IPv6 tunnelling
360 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
361 KCONFIG
:= CONFIG_IPV6_TUNNEL
362 FILES
:= $(foreach mod
,ip6_tunnel
, \
363 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
365 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
368 define KernelPackage
/ip6-tunnel
/description
369 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
372 $(eval
$(call KernelPackage
,ip6-tunnel
))
375 define KernelPackage
/gre
376 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
378 KCONFIG
:=CONFIG_NET_IPGRE
379 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
382 define KernelPackage
/gre
/description
383 Generic Routing Encapsulation support
386 $(eval
$(call KernelPackage
,gre
))
389 define KernelPackage
/tun
390 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
391 TITLE
:=Universal TUN
/TAP driver
393 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
394 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
397 define KernelPackage
/tun
/description
398 Kernel support for the TUN
/TAP tunneling device
401 $(eval
$(call KernelPackage
,tun
))
404 define KernelPackage
/ppp
405 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
407 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
413 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
414 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
415 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
416 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
419 define KernelPackage
/ppp
/description
420 Kernel modules for PPP support
423 $(eval
$(call KernelPackage
,ppp
))
426 define KernelPackage
/ppp-synctty
427 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
428 TITLE
:=PPP sync tty support
430 KCONFIG
:=CONFIG_PPP_SYNC_TTY
431 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
432 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
435 define KernelPackage
/ppp-synctty
/description
436 Kernel modules for PPP sync tty support
439 $(eval
$(call KernelPackage
,ppp-synctty
))
442 define KernelPackage
/pppoe
443 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
446 KCONFIG
:=CONFIG_PPPOE
448 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
449 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
450 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
453 define KernelPackage
/pppoe
/description
454 Kernel modules for PPPoE
(PPP over Ethernet
) support
457 $(eval
$(call KernelPackage
,pppoe
))
460 define KernelPackage
/pppoa
461 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
463 DEPENDS
:=kmod-ppp
+kmod-atm
464 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
465 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
466 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
469 define KernelPackage
/pppoa
/description
470 Kernel modules for PPPoA
(PPP over ATM
) support
473 $(eval
$(call KernelPackage
,pppoa
))
475 define KernelPackage
/pppol2tp
476 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
477 TITLE
:=PPPoL2TP support
478 DEPENDS
:=@LINUX_2_6 kmod-ppp
+kmod-pppoe
479 KCONFIG
:=CONFIG_PPPOL2TP
480 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.
$(LINUX_KMOD_SUFFIX
)
481 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
484 define KernelPackage
/pppol2tp
/description
485 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
488 $(eval
$(call KernelPackage
,pppol2tp
))
491 define KernelPackage
/ipoa
492 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
495 KCONFIG
:=CONFIG_ATM_CLIP
496 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
497 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
500 define KernelPackage
/ipoa
/description
501 Kernel modules for IPoA
(IP over ATM
) support
504 $(eval
$(call KernelPackage
,ipoa
))
507 define KernelPackage
/mppe
508 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
509 TITLE
:=Microsoft PPP compression
/encryption
510 DEPENDS
:=kmod-ppp
+kmod-crypto-core
+kmod-crypto-arc4
+kmod-crypto-sha1
512 CONFIG_PPP_MPPE_MPPC \
514 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
515 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
518 define KernelPackage
/mppe
/description
519 Kernel modules for Microsoft PPP compression
/encryption
522 $(eval
$(call KernelPackage
,mppe
))
525 define KernelPackage
/sched
526 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
527 TITLE
:=Traffic schedulers
530 CONFIG_NET_SCH_DSMARK \
531 CONFIG_NET_SCH_ESFQ \
532 CONFIG_NET_SCH_ESFQ_NFCT
=y \
533 CONFIG_NET_SCH_FIFO \
534 CONFIG_NET_SCH_GRED \
535 CONFIG_NET_SCH_HFSC \
537 CONFIG_NET_SCH_INGRESS \
538 CONFIG_NET_SCH_PRIO \
542 CONFIG_NET_SCH_TEQL \
544 CONFIG_NET_CLS_ACT
=y \
545 CONFIG_NET_CLS_BASIC \
546 CONFIG_NET_CLS_FLOW \
548 CONFIG_NET_CLS_ROUTE4 \
549 CONFIG_NET_CLS_TCINDEX \
551 CONFIG_NET_ACT_MIRRED \
553 CONFIG_NET_ACT_POLICE \
554 CONFIG_NET_EMATCH
=y \
555 CONFIG_NET_EMATCH_CMP \
556 CONFIG_NET_EMATCH_NBYTE \
557 CONFIG_NET_EMATCH_U32 \
558 CONFIG_NET_EMATCH_META \
559 CONFIG_NET_EMATCH_TEXT
560 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
563 define KernelPackage
/sched
/description
564 Kernel schedulers for IP traffic
567 $(eval
$(call KernelPackage
,sched
))
570 define KernelPackage
/ax25
571 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
577 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
578 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
579 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
580 $(call AddDepends
/crc16
)
583 define KernelPackage
/ax25
/description
584 Kernel modules for AX25 support
587 $(eval
$(call KernelPackage
,ax25
))
590 define KernelPackage
/mp-alg
591 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
592 TITLE
:=ECMP caching algorithms
595 CONFIG_IP_ROUTE_MULTIPATH_RR \
596 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
597 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
598 CONFIG_IP_ROUTE_MULTIPATH_DRR
600 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
601 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
602 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
603 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
604 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
607 define KernelPackage
/mp-alg
/description
608 Kernel modules that provide several different algorithms for multipath
609 route selection from the route cache. The iproute
"mpath" argument allows
610 specifying which algorithm to use for routes.
611 quagga
(at least
<=0.99.6) requires a multipath patch to support this
612 cached mp route feature.
615 $(eval
$(call KernelPackage
,mp-alg
))
618 define KernelPackage
/pktgen
619 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
620 TITLE
:=Network packet generator
622 KCONFIG
:=CONFIG_NET_PKTGEN
623 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
624 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
627 define KernelPackage
/pktgen
/description
628 Kernel modules for the Network Packet Generator
631 $(eval
$(call KernelPackage
,pktgen
))