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.
9 NETWORK_SUPPORT_MENU
:=Network Support
11 define KernelPackage
/atm
12 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
19 $(LINUX_DIR
)/net
/atm
/atm.
$(LINUX_KMOD_SUFFIX
) \
20 $(LINUX_DIR
)/net
/atm
/br2684.
$(LINUX_KMOD_SUFFIX
)
21 AUTOLOAD
:=$(call AutoLoad
,30,atm br2684
)
24 define KernelPackage
/atm
/description
25 Kernel modules for ATM support
28 $(eval
$(call KernelPackage
,atm
))
31 define KernelPackage
/atmtcp
32 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
34 DEPENDS
:=@LINUX_2_6 kmod-atm
35 KCONFIG
:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS
=y
36 FILES
:=$(LINUX_DIR
)/drivers
/atm
/atmtcp.
$(LINUX_KMOD_SUFFIX
)
37 AUTOLOAD
:=$(call AutoLoad
,40,atmtcp
)
40 define KernelPackage
/atmtcp
/description
41 Kernel module for ATM over TCP support
44 $(eval
$(call KernelPackage
,atmtcp
))
47 define KernelPackage
/bonding
48 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
49 TITLE
:=Ethernet bonding driver
50 KCONFIG
:=CONFIG_BONDING
51 FILES
:=$(LINUX_DIR
)/drivers
/net
/bonding
/bonding.
$(LINUX_KMOD_SUFFIX
)
52 AUTOLOAD
:=$(call AutoLoad
,40,bonding
)
55 define KernelPackage
/bonding
/description
56 Kernel module for NIC bonding.
59 $(eval
$(call KernelPackage
,bonding
))
62 define KernelPackage
/capi
63 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
64 TITLE
:=CAPI
(ISDN
) Support
68 CONFIG_ISDN_CAPI_CAPI20 \
71 $(LINUX_DIR
)/drivers
/isdn
/capi
/kernelcapi.
$(LINUX_KMOD_SUFFIX
) \
72 $(LINUX_DIR
)/drivers
/isdn
/capi
/capifs.
$(LINUX_KMOD_SUFFIX
)
73 $(LINUX_DIR
)/drivers
/isdn
/capi
/capi.
$(LINUX_KMOD_SUFFIX
) \
74 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capifs capi
)
77 define KernelPackage
/capi
/description
78 Kernel module for basic CAPI
(ISDN
) support
81 $(eval
$(call KernelPackage
,capi
))
83 define KernelPackage
/misdn
84 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
85 TITLE
:=mISDN
(ISDN
) Support
93 CONFIG_ISDN_WITH_ABC
=n \
94 CONFIG_ISDN_DRV_LOOP
=n \
95 CONFIG_ISDN_DIVERSION
=n \
96 CONFIG_ISDN_DRV_HISAX
=n \
97 CONFIG_ISDN_DRV_ICN
=n \
98 CONFIG_ISDN_DRV_PCBIT
=n \
99 CONFIG_ISDN_DRV_SC
=n \
100 CONFIG_ISDN_DRV_ACT2000
=n \
101 CONFIG_ISDN_DRV_EICON
=n \
102 CONFIG_ISDN_DRV_TPAM
=n \
105 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.
$(LINUX_KMOD_SUFFIX
) \
106 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.
$(LINUX_KMOD_SUFFIX
) \
107 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.
$(LINUX_KMOD_SUFFIX
)
108 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
111 define KernelPackage
/misdn
/description
112 Modular ISDN driver support
115 $(eval
$(call KernelPackage
,misdn
))
118 define KernelPackage
/isdn4linux
119 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
120 TITLE
:=Old ISDN4Linux
(deprecated
)
125 CONFIG_ISDN_PPP_VJ
=y \
127 CONFIG_IPPP_FILTER
=y \
128 CONFIG_ISDN_PPP_BSDCOMP \
129 CONFIG_ISDN_AUDIO
=y \
130 CONFIG_ISDN_TTY_FAX
=y \
132 CONFIG_ISDN_DIVERSION \
133 CONFIG_ISDN_CAPI_CAPIDRV
=n \
134 CONFIG_ISDN_DRV_ACT2000
=n \
135 CONFIG_ISDN_DRV_GIGASET
=n \
136 CONFIG_ISDN_DRV_HISAX
=n \
137 CONFIG_ISDN_DRV_ICN
=n \
138 CONFIG_ISDN_DRV_LOOP
=n \
139 CONFIG_ISDN_DRV_PCBIT
=n \
140 CONFIG_ISDN_DRV_SC
=n \
143 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.
$(LINUX_KMOD_SUFFIX
) \
144 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
) \
145 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.
$(LINUX_KMOD_SUFFIX
)
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
:=+LINUX_2_6
:kmod-iptunnel4
160 KCONFIG
:=CONFIG_NET_IPIP
161 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
162 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
165 define KernelPackage
/ipip
/description
166 Kernel modules for IP-in-IP encapsulation
169 $(eval
$(call KernelPackage
,ipip
))
172 define KernelPackage
/ipsec
173 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
174 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
175 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
180 $(LINUX_DIR
)/net
/key
/af_key.
$(LINUX_KMOD_SUFFIX
) \
181 $(LINUX_DIR
)/net
/xfrm
/xfrm_user.
$(LINUX_KMOD_SUFFIX
)
184 define KernelPackage
/ipsec
/description
185 Kernel modules for IPsec support in both IPv4 and IPv6.
191 $(eval
$(call KernelPackage
,ipsec
))
194 define KernelPackage
/ipsec4
195 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
196 TITLE
:=IPsec related modules
(IPv4
)
197 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
202 CONFIG_INET_XFRM_MODE_BEET \
203 CONFIG_INET_XFRM_MODE_TRANSPORT \
204 CONFIG_INET_XFRM_MODE_TUNNEL \
205 CONFIG_INET_XFRM_TUNNEL
206 FILES
:= $(foreach mod
,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel
, \
207 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
211 define KernelPackage
/ipsec4
/description
212 Kernel modules for IPsec support in IPv4.
218 - xfrm4_mode_transport
223 $(eval
$(call KernelPackage
,ipsec4
))
226 define KernelPackage
/ipsec6
227 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
228 TITLE
:=IPsec related modules
(IPv6
)
229 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
233 CONFIG_INET6_IPCOMP \
234 CONFIG_INET6_XFRM_MODE_BEET \
235 CONFIG_INET6_XFRM_MODE_TRANSPORT \
236 CONFIG_INET6_XFRM_MODE_TUNNEL \
237 CONFIG_INET6_XFRM_TUNNEL
238 FILES
:= $(foreach mod
,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel
, \
239 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
243 define KernelPackage
/ipsec6
/description
244 Kernel modules for IPsec support in IPv6.
250 - xfrm6_mode_transport
255 $(eval
$(call KernelPackage
,ipsec6
))
258 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
259 define KernelPackage
/iptunnel4
260 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
261 TITLE
:=IPv4 tunneling
266 FILES
:= $(foreach mod
,tunnel4
, \
267 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
269 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
272 define KernelPackage
/iptunnel4
/description
273 Kernel modules for IPv4 tunneling
276 $(eval
$(call KernelPackage
,iptunnel4
))
279 define KernelPackage
/iptunnel6
280 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
281 TITLE
:=IPv6 tunneling
282 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
285 FILES
:= $(foreach mod
,tunnel6
, \
286 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
288 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
291 define KernelPackage
/iptunnel6
/description
292 Kernel modules for IPv6 tunneling
295 $(eval
$(call KernelPackage
,iptunnel6
))
298 define KernelPackage
/ipv6
299 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
303 CONFIG_IPV6_PRIVACY
=y \
304 CONFIG_IPV6_MULTIPLE_TABLES
=y \
305 CONFIG_IPV6_SUBTREES
=y
306 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
307 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
310 define KernelPackage
/ipv6
/description
311 Kernel modules for IPv6 support
314 $(eval
$(call KernelPackage
,ipv6
))
317 # sit is not selectable on 2.4, but built when ipv6 is enabled
318 define KernelPackage
/sit
319 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
320 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
321 TITLE
:=IPv6-in-IPv4 tunnelling
322 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
323 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
324 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
327 define KernelPackage
/sit
/description
328 Kernel modules for IPv6-in-IPv4 tunnelling
331 $(eval
$(call KernelPackage
,sit
))
334 define KernelPackage
/ip6-tunnel
335 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
336 TITLE
:=IP-in-IPv6 tunnelling
337 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
338 KCONFIG
:= CONFIG_IPV6_TUNNEL
339 FILES
:= $(foreach mod
,ip6_tunnel
, \
340 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
342 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
345 define KernelPackage
/ip6-tunnel
/description
346 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
349 $(eval
$(call KernelPackage
,ip6-tunnel
))
352 define KernelPackage
/gre
353 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
355 KCONFIG
:=CONFIG_NET_IPGRE
356 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
359 define KernelPackage
/gre
/description
360 Generic Routing Encapsulation support
363 $(eval
$(call KernelPackage
,gre
))
366 define KernelPackage
/tun
367 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
368 TITLE
:=Universal TUN
/TAP driver
370 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
371 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
374 define KernelPackage
/tun
/description
375 Kernel support for the TUN
/TAP tunneling device
378 $(eval
$(call KernelPackage
,tun
))
381 define KernelPackage
/ppp
382 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
384 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
390 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
391 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
392 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
393 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
396 define KernelPackage
/ppp
/description
397 Kernel modules for PPP support
400 $(eval
$(call KernelPackage
,ppp
))
403 define KernelPackage
/ppp-synctty
404 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
405 TITLE
:=PPP sync tty support
407 KCONFIG
:=CONFIG_PPP_SYNC_TTY
408 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
409 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
412 define KernelPackage
/ppp-synctty
/description
413 Kernel modules for PPP sync tty support
416 $(eval
$(call KernelPackage
,ppp-synctty
))
419 define KernelPackage
/pppoe
420 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
423 KCONFIG
:=CONFIG_PPPOE
425 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
426 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
429 define KernelPackage
/pppoe
/description
430 Kernel modules for PPPoE
(PPP over Ethernet
) support
433 $(eval
$(call KernelPackage
,pppoe
))
436 define KernelPackage
/pppoa
437 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
439 DEPENDS
:=kmod-ppp
+kmod-atm
440 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
441 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
442 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
445 define KernelPackage
/pppoa
/description
446 Kernel modules for PPPoA
(PPP over ATM
) support
449 $(eval
$(call KernelPackage
,pppoa
))
452 define KernelPackage
/ipoa
453 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
456 KCONFIG
:=CONFIG_ATM_CLIP
457 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
458 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
461 define KernelPackage
/ipoa
/description
462 Kernel modules for IPoA
(IP over ATM
) support
465 $(eval
$(call KernelPackage
,ipoa
))
468 define KernelPackage
/mppe
469 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
470 TITLE
:=Microsoft PPP compression
/encryption
471 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
473 CONFIG_PPP_MPPE_MPPC \
477 define KernelPackage
/mppe
/2.4
478 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
479 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
480 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
483 define KernelPackage
/mppe
/2.6
484 # KCONFIG:=CONFIG_PPP_MPPE
485 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
486 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
489 define KernelPackage
/mppe
/description
490 Kernel modules for Microsoft PPP compression
/encryption
493 $(eval
$(call KernelPackage
,mppe
))
496 define KernelPackage
/sched
497 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
498 TITLE
:=Traffic schedulers
501 CONFIG_NET_SCH_DSMARK \
502 CONFIG_NET_SCH_ESFQ \
503 CONFIG_NET_SCH_FIFO \
504 CONFIG_NET_SCH_GRED \
505 CONFIG_NET_SCH_HFSC \
507 CONFIG_NET_SCH_INGRESS \
508 CONFIG_NET_SCH_PRIO \
512 CONFIG_NET_SCH_TEQL \
515 CONFIG_NET_CLS_BASIC \
516 CONFIG_NET_CLS_FLOW \
518 CONFIG_NET_CLS_ROUTE4 \
519 CONFIG_NET_CLS_TCINDEX \
521 CONFIG_NET_ACT_MIRRED \
523 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
526 define KernelPackage
/sched
/description
527 Kernel schedulers for IP traffic
530 $(eval
$(call KernelPackage
,sched
))
533 define KernelPackage
/ax25
534 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
541 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
542 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
543 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
546 define KernelPackage
/ax25
/description
547 Kernel modules for AX25 support
550 $(eval
$(call KernelPackage
,ax25
))
553 define KernelPackage
/mp-alg
554 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
555 TITLE
:=ECMP caching algorithms
558 CONFIG_IP_ROUTE_MULTIPATH_RR \
559 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
560 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
561 CONFIG_IP_ROUTE_MULTIPATH_DRR
563 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
564 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
565 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
566 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
567 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
570 define KernelPackage
/mp-alg
/description
571 Kernel modules that provide several different algorithms for multipath
572 route selection from the route cache. The iproute
"mpath" argument allows
573 specifying which algorithm to use for routes.
574 quagga
(at least
<=0.99.6) requires a multipath patch to support this
575 cached mp route feature.
578 $(eval
$(call KernelPackage
,mp-alg
))
581 define KernelPackage
/pktgen
582 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
583 TITLE
:=Network packet generator
585 KCONFIG
:=CONFIG_NET_PKTGEN
586 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
587 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
590 define KernelPackage
/pktgen
/description
591 Kernel modules for the Network Packet Generator
594 $(eval
$(call KernelPackage
,pktgen
))