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
))
196 define KernelPackage
/ipsec
197 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
198 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
199 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
205 $(LINUX_DIR
)/net
/key
/af_key.
$(LINUX_KMOD_SUFFIX
) \
206 $(LINUX_DIR
)/net
/xfrm
/xfrm_user.
$(LINUX_KMOD_SUFFIX
) \
207 $(LINUX_DIR
)/net
/xfrm
/xfrm_ipcomp.
$(LINUX_KMOD_SUFFIX
)
210 define KernelPackage
/ipsec
/description
211 Kernel modules for IPsec support in both IPv4 and IPv6.
217 $(eval
$(call KernelPackage
,ipsec
))
220 define KernelPackage
/ipsec4
221 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
222 TITLE
:=IPsec related modules
(IPv4
)
223 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
228 CONFIG_INET_XFRM_MODE_BEET \
229 CONFIG_INET_XFRM_MODE_TRANSPORT \
230 CONFIG_INET_XFRM_MODE_TUNNEL \
231 CONFIG_INET_XFRM_TUNNEL
232 FILES
:= $(foreach mod
,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel
, \
233 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
237 define KernelPackage
/ipsec4
/description
238 Kernel modules for IPsec support in IPv4.
244 - xfrm4_mode_transport
249 $(eval
$(call KernelPackage
,ipsec4
))
252 define KernelPackage
/ipsec6
253 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
254 TITLE
:=IPsec related modules
(IPv6
)
255 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
259 CONFIG_INET6_IPCOMP \
260 CONFIG_INET6_XFRM_MODE_BEET \
261 CONFIG_INET6_XFRM_MODE_TRANSPORT \
262 CONFIG_INET6_XFRM_MODE_TUNNEL \
263 CONFIG_INET6_XFRM_TUNNEL
264 FILES
:= $(foreach mod
,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel
, \
265 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
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
:= $(foreach mod
,tunnel4
, \
293 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
295 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
298 define KernelPackage
/iptunnel4
/description
299 Kernel modules for IPv4 tunneling
302 $(eval
$(call KernelPackage
,iptunnel4
))
305 define KernelPackage
/iptunnel6
306 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
307 TITLE
:=IPv6 tunneling
308 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
311 FILES
:= $(foreach mod
,tunnel6
, \
312 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
314 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
317 define KernelPackage
/iptunnel6
/description
318 Kernel modules for IPv6 tunneling
321 $(eval
$(call KernelPackage
,iptunnel6
))
324 define KernelPackage
/ipv6
325 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
329 CONFIG_IPV6_PRIVACY
=y \
330 CONFIG_IPV6_MULTIPLE_TABLES
=y \
331 CONFIG_IPV6_MROUTE
=y \
332 CONFIG_IPV6_PIMSM_V2
=n \
333 CONFIG_IPV6_SUBTREES
=y
334 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
335 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
338 define KernelPackage
/ipv6
/description
339 Kernel modules for IPv6 support
342 $(eval
$(call KernelPackage
,ipv6
))
345 # sit is not selectable on 2.4, but built when ipv6 is enabled
346 define KernelPackage
/sit
347 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
348 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
349 TITLE
:=IPv6-in-IPv4 tunnelling
350 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
351 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
352 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
355 define KernelPackage
/sit
/description
356 Kernel modules for IPv6-in-IPv4 tunnelling
359 $(eval
$(call KernelPackage
,sit
))
362 define KernelPackage
/ip6-tunnel
363 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
364 TITLE
:=IP-in-IPv6 tunnelling
365 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
366 KCONFIG
:= CONFIG_IPV6_TUNNEL
367 FILES
:= $(foreach mod
,ip6_tunnel
, \
368 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
370 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
373 define KernelPackage
/ip6-tunnel
/description
374 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
377 $(eval
$(call KernelPackage
,ip6-tunnel
))
380 define KernelPackage
/gre
381 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
383 KCONFIG
:=CONFIG_NET_IPGRE
384 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
387 define KernelPackage
/gre
/description
388 Generic Routing Encapsulation support
391 $(eval
$(call KernelPackage
,gre
))
394 define KernelPackage
/tun
395 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
396 TITLE
:=Universal TUN
/TAP driver
398 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
399 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
402 define KernelPackage
/tun
/description
403 Kernel support for the TUN
/TAP tunneling device
406 $(eval
$(call KernelPackage
,tun
))
409 define KernelPackage
/ppp
410 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
412 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
418 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
419 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
420 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
421 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
424 define KernelPackage
/ppp
/description
425 Kernel modules for PPP support
428 $(eval
$(call KernelPackage
,ppp
))
431 define KernelPackage
/ppp-synctty
432 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
433 TITLE
:=PPP sync tty support
435 KCONFIG
:=CONFIG_PPP_SYNC_TTY
436 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
437 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
440 define KernelPackage
/ppp-synctty
/description
441 Kernel modules for PPP sync tty support
444 $(eval
$(call KernelPackage
,ppp-synctty
))
447 define KernelPackage
/pppoe
448 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
451 KCONFIG
:=CONFIG_PPPOE
453 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
454 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
455 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
458 define KernelPackage
/pppoe
/description
459 Kernel modules for PPPoE
(PPP over Ethernet
) support
462 $(eval
$(call KernelPackage
,pppoe
))
465 define KernelPackage
/pppoa
466 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
468 DEPENDS
:=kmod-ppp
+kmod-atm
469 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
470 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
471 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
474 define KernelPackage
/pppoa
/description
475 Kernel modules for PPPoA
(PPP over ATM
) support
478 $(eval
$(call KernelPackage
,pppoa
))
480 define KernelPackage
/pppol2tp
481 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
482 TITLE
:=PPPoL2TP support
483 DEPENDS
:=kmod-ppp
+kmod-pppoe
484 KCONFIG
:=CONFIG_PPPOL2TP
485 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.
$(LINUX_KMOD_SUFFIX
)
486 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
489 define KernelPackage
/pppol2tp
/description
490 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
493 $(eval
$(call KernelPackage
,pppol2tp
))
496 define KernelPackage
/ipoa
497 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
500 KCONFIG
:=CONFIG_ATM_CLIP
501 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
502 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
505 define KernelPackage
/ipoa
/description
506 Kernel modules for IPoA
(IP over ATM
) support
509 $(eval
$(call KernelPackage
,ipoa
))
512 define KernelPackage
/mppe
513 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
514 TITLE
:=Microsoft PPP compression
/encryption
515 DEPENDS
:=kmod-ppp
+kmod-crypto-core
+kmod-crypto-arc4
+kmod-crypto-sha1
517 CONFIG_PPP_MPPE_MPPC \
521 define KernelPackage
/mppe
/2.4
522 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
523 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
524 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
527 define KernelPackage
/mppe
/2.6
528 # KCONFIG:=CONFIG_PPP_MPPE
529 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
530 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
533 define KernelPackage
/mppe
/description
534 Kernel modules for Microsoft PPP compression
/encryption
537 $(eval
$(call KernelPackage
,mppe
))
540 define KernelPackage
/sched
541 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
542 TITLE
:=Traffic schedulers
545 CONFIG_NET_SCH_DSMARK \
546 CONFIG_NET_SCH_ESFQ \
547 CONFIG_NET_SCH_ESFQ_NFCT
=y \
548 CONFIG_NET_SCH_FIFO \
549 CONFIG_NET_SCH_GRED \
550 CONFIG_NET_SCH_HFSC \
552 CONFIG_NET_SCH_INGRESS \
553 CONFIG_NET_SCH_PRIO \
557 CONFIG_NET_SCH_TEQL \
559 CONFIG_NET_CLS_ACT
=y \
560 CONFIG_NET_CLS_BASIC \
561 CONFIG_NET_CLS_FLOW \
563 CONFIG_NET_CLS_ROUTE4 \
564 CONFIG_NET_CLS_TCINDEX \
566 CONFIG_NET_ACT_MIRRED \
568 CONFIG_NET_ACT_POLICE \
569 CONFIG_NET_EMATCH
=y \
570 CONFIG_NET_EMATCH_CMP \
571 CONFIG_NET_EMATCH_NBYTE \
572 CONFIG_NET_EMATCH_U32 \
573 CONFIG_NET_EMATCH_META \
574 CONFIG_NET_EMATCH_TEXT
575 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
578 define KernelPackage
/sched
/description
579 Kernel schedulers for IP traffic
582 $(eval
$(call KernelPackage
,sched
))
585 define KernelPackage
/ax25
586 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
588 DEPENDS
:= +kmod-crc16
593 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
594 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
595 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
598 define KernelPackage
/ax25
/description
599 Kernel modules for AX25 support
602 $(eval
$(call KernelPackage
,ax25
))
605 define KernelPackage
/mp-alg
606 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
607 TITLE
:=ECMP caching algorithms
610 CONFIG_IP_ROUTE_MULTIPATH_RR \
611 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
612 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
613 CONFIG_IP_ROUTE_MULTIPATH_DRR
615 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
616 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
617 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
618 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
619 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
622 define KernelPackage
/mp-alg
/description
623 Kernel modules that provide several different algorithms for multipath
624 route selection from the route cache. The iproute
"mpath" argument allows
625 specifying which algorithm to use for routes.
626 quagga
(at least
<=0.99.6) requires a multipath patch to support this
627 cached mp route feature.
630 $(eval
$(call KernelPackage
,mp-alg
))
633 define KernelPackage
/pktgen
634 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
635 TITLE
:=Network packet generator
637 KCONFIG
:=CONFIG_NET_PKTGEN
638 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
639 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
642 define KernelPackage
/pktgen
/description
643 Kernel modules for the Network Packet Generator
646 $(eval
$(call KernelPackage
,pktgen
))