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
114 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.
$(LINUX_KMOD_SUFFIX
) \
115 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.
$(LINUX_KMOD_SUFFIX
) \
116 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.
$(LINUX_KMOD_SUFFIX
)
117 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
120 define KernelPackage
/misdn
/2.4
125 define KernelPackage
/misdn
/2.6
130 define KernelPackage
/misdn
/description
131 Modular ISDN driver support
134 $(eval
$(call KernelPackage
,misdn
))
137 define KernelPackage
/isdn4linux
138 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
139 TITLE
:=Old ISDN4Linux
(deprecated
)
143 CONFIG_ISDN_PPP_VJ
=y \
145 CONFIG_IPPP_FILTER
=y \
146 CONFIG_ISDN_PPP_BSDCOMP \
147 CONFIG_ISDN_CAPI_MIDDLEWARE
=y \
148 CONFIG_ISDN_CAPI_CAPIFS_BOOL
=y \
149 CONFIG_ISDN_AUDIO
=y \
150 CONFIG_ISDN_TTY_FAX
=y \
152 CONFIG_ISDN_DIVERSION
154 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.
$(LINUX_KMOD_SUFFIX
)
155 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
158 define KernelPackage
/isdn4linux
/2.4
162 $(LINUX_DIR
)/drivers
/isdn
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
165 define KernelPackage
/isdn4linux
/2.6
169 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.
$(LINUX_KMOD_SUFFIX
) \
170 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
173 define KernelPackage
/isdn4linux
/description
174 This driver allows you to use an ISDN adapter for networking
177 $(eval
$(call KernelPackage
,isdn4linux
))
180 define KernelPackage
/ipip
181 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
182 TITLE
:=IP-in-IP encapsulation
183 DEPENDS
:=+LINUX_2_6
:kmod-iptunnel4
184 KCONFIG
:=CONFIG_NET_IPIP
185 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
186 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
189 define KernelPackage
/ipip
/description
190 Kernel modules for IP-in-IP encapsulation
193 $(eval
$(call KernelPackage
,ipip
))
201 define KernelPackage
/ipsec
202 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
203 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
204 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
209 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
210 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
213 define KernelPackage
/ipsec
/description
214 Kernel modules for IPsec support in both IPv4 and IPv6.
221 $(eval
$(call KernelPackage
,ipsec
))
227 ipv4
/xfrm4_mode_beet \
228 ipv4
/xfrm4_mode_transport \
229 ipv4
/xfrm4_mode_tunnel \
233 define KernelPackage
/ipsec4
234 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
235 TITLE
:=IPsec related modules
(IPv4
)
236 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
241 CONFIG_INET_XFRM_MODE_BEET \
242 CONFIG_INET_XFRM_MODE_TRANSPORT \
243 CONFIG_INET_XFRM_MODE_TUNNEL \
244 CONFIG_INET_XFRM_TUNNEL
245 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
246 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
249 define KernelPackage
/ipsec4
/description
250 Kernel modules for IPsec support in IPv4.
256 - xfrm4_mode_transport
261 $(eval
$(call KernelPackage
,ipsec4
))
267 ipv6
/xfrm6_mode_beet \
268 ipv6
/xfrm6_mode_transport \
269 ipv6
/xfrm6_mode_tunnel \
273 define KernelPackage
/ipsec6
274 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
275 TITLE
:=IPsec related modules
(IPv6
)
276 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
280 CONFIG_INET6_IPCOMP \
281 CONFIG_INET6_XFRM_MODE_BEET \
282 CONFIG_INET6_XFRM_MODE_TRANSPORT \
283 CONFIG_INET6_XFRM_MODE_TUNNEL \
284 CONFIG_INET6_XFRM_TUNNEL
285 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
286 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
289 define KernelPackage
/ipsec6
/description
290 Kernel modules for IPsec support in IPv6.
296 - xfrm6_mode_transport
301 $(eval
$(call KernelPackage
,ipsec6
))
304 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
305 define KernelPackage
/iptunnel4
306 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
307 TITLE
:=IPv4 tunneling
312 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.
$(LINUX_KMOD_SUFFIX
)
313 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
316 define KernelPackage
/iptunnel4
/description
317 Kernel modules for IPv4 tunneling
320 $(eval
$(call KernelPackage
,iptunnel4
))
323 define KernelPackage
/iptunnel6
324 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
325 TITLE
:=IPv6 tunneling
326 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
329 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.
$(LINUX_KMOD_SUFFIX
)
330 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
333 define KernelPackage
/iptunnel6
/description
334 Kernel modules for IPv6 tunneling
337 $(eval
$(call KernelPackage
,iptunnel6
))
340 define KernelPackage
/ipv6
341 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
345 CONFIG_IPV6_PRIVACY
=y \
346 CONFIG_IPV6_MULTIPLE_TABLES
=y \
347 CONFIG_IPV6_MROUTE
=y \
348 CONFIG_IPV6_PIMSM_V2
=n \
349 CONFIG_IPV6_SUBTREES
=y
350 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
351 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
354 define KernelPackage
/ipv6
/description
355 Kernel modules for IPv6 support
358 $(eval
$(call KernelPackage
,ipv6
))
361 # sit is not selectable on 2.4, but built when ipv6 is enabled
362 define KernelPackage
/sit
363 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
364 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
365 TITLE
:=IPv6-in-IPv4 tunnelling
366 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
367 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
368 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
371 define KernelPackage
/sit
/description
372 Kernel modules for IPv6-in-IPv4 tunnelling
375 $(eval
$(call KernelPackage
,sit
))
378 define KernelPackage
/ip6-tunnel
379 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
380 TITLE
:=IP-in-IPv6 tunnelling
381 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
382 KCONFIG
:= CONFIG_IPV6_TUNNEL
383 FILES
:= $(foreach mod
,ip6_tunnel
, \
384 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
386 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
389 define KernelPackage
/ip6-tunnel
/description
390 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
393 $(eval
$(call KernelPackage
,ip6-tunnel
))
396 define KernelPackage
/gre
397 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
399 KCONFIG
:=CONFIG_NET_IPGRE
400 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
403 define KernelPackage
/gre
/description
404 Generic Routing Encapsulation support
407 $(eval
$(call KernelPackage
,gre
))
410 define KernelPackage
/tun
411 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
412 TITLE
:=Universal TUN
/TAP driver
414 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
415 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
418 define KernelPackage
/tun
/description
419 Kernel support for the TUN
/TAP tunneling device
422 $(eval
$(call KernelPackage
,tun
))
425 define KernelPackage
/ppp
426 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
428 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
434 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
435 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
436 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
437 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
440 define KernelPackage
/ppp
/description
441 Kernel modules for PPP support
444 $(eval
$(call KernelPackage
,ppp
))
447 define KernelPackage
/ppp-synctty
448 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
449 TITLE
:=PPP sync tty support
451 KCONFIG
:=CONFIG_PPP_SYNC_TTY
452 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
453 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
456 define KernelPackage
/ppp-synctty
/description
457 Kernel modules for PPP sync tty support
460 $(eval
$(call KernelPackage
,ppp-synctty
))
463 define KernelPackage
/pppoe
464 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
467 KCONFIG
:=CONFIG_PPPOE
469 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
470 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
471 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
474 define KernelPackage
/pppoe
/description
475 Kernel modules for PPPoE
(PPP over Ethernet
) support
478 $(eval
$(call KernelPackage
,pppoe
))
481 define KernelPackage
/pppoa
482 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
484 DEPENDS
:=kmod-ppp
+kmod-atm
485 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
486 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
487 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
490 define KernelPackage
/pppoa
/description
491 Kernel modules for PPPoA
(PPP over ATM
) support
494 $(eval
$(call KernelPackage
,pppoa
))
496 define KernelPackage
/pppol2tp
497 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
498 TITLE
:=PPPoL2TP support
499 DEPENDS
:=kmod-ppp
+kmod-pppoe
500 KCONFIG
:=CONFIG_PPPOL2TP
501 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.
$(LINUX_KMOD_SUFFIX
)
502 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
505 define KernelPackage
/pppol2tp
/description
506 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
509 $(eval
$(call KernelPackage
,pppol2tp
))
512 define KernelPackage
/ipoa
513 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
516 KCONFIG
:=CONFIG_ATM_CLIP
517 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
518 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
521 define KernelPackage
/ipoa
/description
522 Kernel modules for IPoA
(IP over ATM
) support
525 $(eval
$(call KernelPackage
,ipoa
))
528 define KernelPackage
/mppe
529 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
530 TITLE
:=Microsoft PPP compression
/encryption
531 DEPENDS
:=kmod-ppp
+kmod-crypto-core
+kmod-crypto-arc4
+kmod-crypto-sha1
533 CONFIG_PPP_MPPE_MPPC \
537 define KernelPackage
/mppe
/2.4
538 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
539 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
540 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
543 define KernelPackage
/mppe
/2.6
544 # KCONFIG:=CONFIG_PPP_MPPE
545 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
546 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
549 define KernelPackage
/mppe
/description
550 Kernel modules for Microsoft PPP compression
/encryption
553 $(eval
$(call KernelPackage
,mppe
))
556 define KernelPackage
/sched
557 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
558 TITLE
:=Traffic schedulers
561 CONFIG_NET_SCH_DSMARK \
562 CONFIG_NET_SCH_ESFQ \
563 CONFIG_NET_SCH_ESFQ_NFCT
=y \
564 CONFIG_NET_SCH_FIFO \
565 CONFIG_NET_SCH_GRED \
566 CONFIG_NET_SCH_HFSC \
568 CONFIG_NET_SCH_INGRESS \
569 CONFIG_NET_SCH_PRIO \
573 CONFIG_NET_SCH_TEQL \
575 CONFIG_NET_CLS_ACT
=y \
576 CONFIG_NET_CLS_BASIC \
577 CONFIG_NET_CLS_FLOW \
579 CONFIG_NET_CLS_ROUTE4 \
580 CONFIG_NET_CLS_TCINDEX \
582 CONFIG_NET_ACT_MIRRED \
584 CONFIG_NET_ACT_POLICE \
585 CONFIG_NET_EMATCH
=y \
586 CONFIG_NET_EMATCH_CMP \
587 CONFIG_NET_EMATCH_NBYTE \
588 CONFIG_NET_EMATCH_U32 \
589 CONFIG_NET_EMATCH_META \
590 CONFIG_NET_EMATCH_TEXT
591 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
594 define KernelPackage
/sched
/description
595 Kernel schedulers for IP traffic
598 $(eval
$(call KernelPackage
,sched
))
601 define KernelPackage
/ax25
602 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
608 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
609 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
610 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
611 $(call AddDepends
/crc16
)
614 define KernelPackage
/ax25
/description
615 Kernel modules for AX25 support
618 $(eval
$(call KernelPackage
,ax25
))
621 define KernelPackage
/mp-alg
622 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
623 TITLE
:=ECMP caching algorithms
626 CONFIG_IP_ROUTE_MULTIPATH_RR \
627 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
628 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
629 CONFIG_IP_ROUTE_MULTIPATH_DRR
631 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
632 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
633 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
634 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
635 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
638 define KernelPackage
/mp-alg
/description
639 Kernel modules that provide several different algorithms for multipath
640 route selection from the route cache. The iproute
"mpath" argument allows
641 specifying which algorithm to use for routes.
642 quagga
(at least
<=0.99.6) requires a multipath patch to support this
643 cached mp route feature.
646 $(eval
$(call KernelPackage
,mp-alg
))
649 define KernelPackage
/pktgen
650 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
651 TITLE
:=Network packet generator
653 KCONFIG
:=CONFIG_NET_PKTGEN
654 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
655 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
658 define KernelPackage
/pktgen
/description
659 Kernel modules for the Network Packet Generator
662 $(eval
$(call KernelPackage
,pktgen
))