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
/2.4
126 define KernelPackage
/misdn
/2.6
131 define KernelPackage
/misdn
/description
132 Modular ISDN driver support
135 $(eval
$(call KernelPackage
,misdn
))
138 define KernelPackage
/isdn4linux
139 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
140 TITLE
:=Old ISDN4Linux
(deprecated
)
145 CONFIG_ISDN_PPP_VJ
=y \
147 CONFIG_IPPP_FILTER
=y \
148 CONFIG_ISDN_PPP_BSDCOMP \
149 CONFIG_ISDN_CAPI_MIDDLEWARE
=y \
150 CONFIG_ISDN_CAPI_CAPIFS_BOOL
=y \
151 CONFIG_ISDN_AUDIO
=y \
152 CONFIG_ISDN_TTY_FAX
=y \
154 CONFIG_ISDN_DIVERSION
156 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.
$(LINUX_KMOD_SUFFIX
)
157 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
160 define KernelPackage
/isdn4linux
/2.4
164 $(LINUX_DIR
)/drivers
/isdn
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
167 define KernelPackage
/isdn4linux
/2.6
171 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.
$(LINUX_KMOD_SUFFIX
) \
172 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
175 define KernelPackage
/isdn4linux
/description
176 This driver allows you to use an ISDN adapter for networking
179 $(eval
$(call KernelPackage
,isdn4linux
))
182 define KernelPackage
/ipip
183 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
184 TITLE
:=IP-in-IP encapsulation
185 DEPENDS
:=+LINUX_2_6
:kmod-iptunnel4
186 KCONFIG
:=CONFIG_NET_IPIP
187 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
188 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
191 define KernelPackage
/ipip
/description
192 Kernel modules for IP-in-IP encapsulation
195 $(eval
$(call KernelPackage
,ipip
))
203 define KernelPackage
/ipsec
204 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
205 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
206 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
211 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
212 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
215 define KernelPackage
/ipsec
/description
216 Kernel modules for IPsec support in both IPv4 and IPv6.
223 $(eval
$(call KernelPackage
,ipsec
))
229 ipv4
/xfrm4_mode_beet \
230 ipv4
/xfrm4_mode_transport \
231 ipv4
/xfrm4_mode_tunnel \
235 define KernelPackage
/ipsec4
236 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
237 TITLE
:=IPsec related modules
(IPv4
)
238 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
243 CONFIG_INET_XFRM_MODE_BEET \
244 CONFIG_INET_XFRM_MODE_TRANSPORT \
245 CONFIG_INET_XFRM_MODE_TUNNEL \
246 CONFIG_INET_XFRM_TUNNEL
247 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
248 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
251 define KernelPackage
/ipsec4
/description
252 Kernel modules for IPsec support in IPv4.
258 - xfrm4_mode_transport
263 $(eval
$(call KernelPackage
,ipsec4
))
269 ipv6
/xfrm6_mode_beet \
270 ipv6
/xfrm6_mode_transport \
271 ipv6
/xfrm6_mode_tunnel \
275 define KernelPackage
/ipsec6
276 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
277 TITLE
:=IPsec related modules
(IPv6
)
278 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
282 CONFIG_INET6_IPCOMP \
283 CONFIG_INET6_XFRM_MODE_BEET \
284 CONFIG_INET6_XFRM_MODE_TRANSPORT \
285 CONFIG_INET6_XFRM_MODE_TUNNEL \
286 CONFIG_INET6_XFRM_TUNNEL
287 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
288 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
291 define KernelPackage
/ipsec6
/description
292 Kernel modules for IPsec support in IPv6.
298 - xfrm6_mode_transport
303 $(eval
$(call KernelPackage
,ipsec6
))
306 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
307 define KernelPackage
/iptunnel4
308 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
309 TITLE
:=IPv4 tunneling
314 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.
$(LINUX_KMOD_SUFFIX
)
315 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
318 define KernelPackage
/iptunnel4
/description
319 Kernel modules for IPv4 tunneling
322 $(eval
$(call KernelPackage
,iptunnel4
))
325 define KernelPackage
/iptunnel6
326 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
327 TITLE
:=IPv6 tunneling
328 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
331 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.
$(LINUX_KMOD_SUFFIX
)
332 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
335 define KernelPackage
/iptunnel6
/description
336 Kernel modules for IPv6 tunneling
339 $(eval
$(call KernelPackage
,iptunnel6
))
342 define KernelPackage
/ipv6
343 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
347 CONFIG_IPV6_PRIVACY
=y \
348 CONFIG_IPV6_MULTIPLE_TABLES
=y \
349 CONFIG_IPV6_MROUTE
=y \
350 CONFIG_IPV6_PIMSM_V2
=n \
351 CONFIG_IPV6_SUBTREES
=y
352 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
353 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
356 define KernelPackage
/ipv6
/description
357 Kernel modules for IPv6 support
360 $(eval
$(call KernelPackage
,ipv6
))
363 # sit is not selectable on 2.4, but built when ipv6 is enabled
364 define KernelPackage
/sit
365 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
366 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
367 TITLE
:=IPv6-in-IPv4 tunnelling
368 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
369 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
370 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
373 define KernelPackage
/sit
/description
374 Kernel modules for IPv6-in-IPv4 tunnelling
377 $(eval
$(call KernelPackage
,sit
))
380 define KernelPackage
/ip6-tunnel
381 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
382 TITLE
:=IP-in-IPv6 tunnelling
383 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
384 KCONFIG
:= CONFIG_IPV6_TUNNEL
385 FILES
:= $(foreach mod
,ip6_tunnel
, \
386 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
388 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
391 define KernelPackage
/ip6-tunnel
/description
392 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
395 $(eval
$(call KernelPackage
,ip6-tunnel
))
398 define KernelPackage
/gre
399 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
401 KCONFIG
:=CONFIG_NET_IPGRE
402 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
405 define KernelPackage
/gre
/description
406 Generic Routing Encapsulation support
409 $(eval
$(call KernelPackage
,gre
))
412 define KernelPackage
/tun
413 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
414 TITLE
:=Universal TUN
/TAP driver
416 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
417 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
420 define KernelPackage
/tun
/description
421 Kernel support for the TUN
/TAP tunneling device
424 $(eval
$(call KernelPackage
,tun
))
427 define KernelPackage
/ppp
428 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
430 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
436 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
437 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
438 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
439 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
442 define KernelPackage
/ppp
/description
443 Kernel modules for PPP support
446 $(eval
$(call KernelPackage
,ppp
))
449 define KernelPackage
/ppp-synctty
450 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
451 TITLE
:=PPP sync tty support
453 KCONFIG
:=CONFIG_PPP_SYNC_TTY
454 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
455 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
458 define KernelPackage
/ppp-synctty
/description
459 Kernel modules for PPP sync tty support
462 $(eval
$(call KernelPackage
,ppp-synctty
))
465 define KernelPackage
/pppoe
466 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
469 KCONFIG
:=CONFIG_PPPOE
471 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
472 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
473 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
476 define KernelPackage
/pppoe
/description
477 Kernel modules for PPPoE
(PPP over Ethernet
) support
480 $(eval
$(call KernelPackage
,pppoe
))
483 define KernelPackage
/pppoa
484 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
486 DEPENDS
:=kmod-ppp
+kmod-atm
487 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
488 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
489 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
492 define KernelPackage
/pppoa
/description
493 Kernel modules for PPPoA
(PPP over ATM
) support
496 $(eval
$(call KernelPackage
,pppoa
))
498 define KernelPackage
/pppol2tp
499 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
500 TITLE
:=PPPoL2TP support
501 DEPENDS
:=@LINUX_2_6 kmod-ppp
+kmod-pppoe
502 KCONFIG
:=CONFIG_PPPOL2TP
503 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.
$(LINUX_KMOD_SUFFIX
)
504 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
507 define KernelPackage
/pppol2tp
/description
508 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
511 $(eval
$(call KernelPackage
,pppol2tp
))
514 define KernelPackage
/ipoa
515 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
518 KCONFIG
:=CONFIG_ATM_CLIP
519 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
520 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
523 define KernelPackage
/ipoa
/description
524 Kernel modules for IPoA
(IP over ATM
) support
527 $(eval
$(call KernelPackage
,ipoa
))
530 define KernelPackage
/mppe
531 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
532 TITLE
:=Microsoft PPP compression
/encryption
533 DEPENDS
:=kmod-ppp
+kmod-crypto-core
+kmod-crypto-arc4
+kmod-crypto-sha1
535 CONFIG_PPP_MPPE_MPPC \
539 define KernelPackage
/mppe
/2.4
540 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
541 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
542 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
545 define KernelPackage
/mppe
/2.6
546 # KCONFIG:=CONFIG_PPP_MPPE
547 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
548 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
551 define KernelPackage
/mppe
/description
552 Kernel modules for Microsoft PPP compression
/encryption
555 $(eval
$(call KernelPackage
,mppe
))
558 define KernelPackage
/sched
559 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
560 TITLE
:=Traffic schedulers
563 CONFIG_NET_SCH_DSMARK \
564 CONFIG_NET_SCH_ESFQ \
565 CONFIG_NET_SCH_ESFQ_NFCT
=y \
566 CONFIG_NET_SCH_FIFO \
567 CONFIG_NET_SCH_GRED \
568 CONFIG_NET_SCH_HFSC \
570 CONFIG_NET_SCH_INGRESS \
571 CONFIG_NET_SCH_PRIO \
575 CONFIG_NET_SCH_TEQL \
577 CONFIG_NET_CLS_ACT
=y \
578 CONFIG_NET_CLS_BASIC \
579 CONFIG_NET_CLS_FLOW \
581 CONFIG_NET_CLS_ROUTE4 \
582 CONFIG_NET_CLS_TCINDEX \
584 CONFIG_NET_ACT_MIRRED \
586 CONFIG_NET_ACT_POLICE \
587 CONFIG_NET_EMATCH
=y \
588 CONFIG_NET_EMATCH_CMP \
589 CONFIG_NET_EMATCH_NBYTE \
590 CONFIG_NET_EMATCH_U32 \
591 CONFIG_NET_EMATCH_META \
592 CONFIG_NET_EMATCH_TEXT
593 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
596 define KernelPackage
/sched
/description
597 Kernel schedulers for IP traffic
600 $(eval
$(call KernelPackage
,sched
))
603 define KernelPackage
/ax25
604 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
610 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
611 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
612 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
613 $(call AddDepends
/crc16
)
616 define KernelPackage
/ax25
/description
617 Kernel modules for AX25 support
620 $(eval
$(call KernelPackage
,ax25
))
623 define KernelPackage
/mp-alg
624 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
625 TITLE
:=ECMP caching algorithms
628 CONFIG_IP_ROUTE_MULTIPATH_RR \
629 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
630 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
631 CONFIG_IP_ROUTE_MULTIPATH_DRR
633 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
634 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
635 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
636 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
637 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
640 define KernelPackage
/mp-alg
/description
641 Kernel modules that provide several different algorithms for multipath
642 route selection from the route cache. The iproute
"mpath" argument allows
643 specifying which algorithm to use for routes.
644 quagga
(at least
<=0.99.6) requires a multipath patch to support this
645 cached mp route feature.
648 $(eval
$(call KernelPackage
,mp-alg
))
651 define KernelPackage
/pktgen
652 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
653 TITLE
:=Network packet generator
655 KCONFIG
:=CONFIG_NET_PKTGEN
656 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
657 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
660 define KernelPackage
/pktgen
/description
661 Kernel modules for the Network Packet Generator
664 $(eval
$(call KernelPackage
,pktgen
))