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
/bonding
47 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
48 TITLE
:=Ethernet bonding driver
49 KCONFIG
:=CONFIG_BONDING
50 FILES
:=$(LINUX_DIR
)/drivers
/net
/bonding
/bonding.
$(LINUX_KMOD_SUFFIX
)
51 AUTOLOAD
:=$(call AutoLoad
,40,bonding
)
54 define KernelPackage
/bonding
/description
55 Kernel module for NIC bonding.
58 $(eval
$(call KernelPackage
,bonding
))
61 define KernelPackage
/capi
62 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
63 TITLE
:=CAPI
(ISDN
) Support
67 CONFIG_ISDN_CAPI_CAPI20 \
70 $(LINUX_DIR
)/drivers
/isdn
/capi
/kernelcapi.
$(LINUX_KMOD_SUFFIX
) \
71 $(LINUX_DIR
)/drivers
/isdn
/capi
/capifs.
$(LINUX_KMOD_SUFFIX
)
72 $(LINUX_DIR
)/drivers
/isdn
/capi
/capi.
$(LINUX_KMOD_SUFFIX
) \
73 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capifs capi
)
76 define KernelPackage
/capi
/description
77 Kernel module for basic CAPI
(ISDN
) support
80 $(eval
$(call KernelPackage
,capi
))
82 define KernelPackage
/misdn
83 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
84 TITLE
:=mISDN
(ISDN
) Support
92 CONFIG_ISDN_WITH_ABC
=n \
93 CONFIG_ISDN_DRV_LOOP
=n \
94 CONFIG_ISDN_DIVERSION
=n \
95 CONFIG_ISDN_DRV_HISAX
=n \
96 CONFIG_ISDN_DRV_ICN
=n \
97 CONFIG_ISDN_DRV_PCBIT
=n \
98 CONFIG_ISDN_DRV_SC
=n \
99 CONFIG_ISDN_DRV_ACT2000
=n \
100 CONFIG_ISDN_DRV_EICON
=n \
101 CONFIG_ISDN_DRV_TPAM
=n \
104 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.
$(LINUX_KMOD_SUFFIX
) \
105 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.
$(LINUX_KMOD_SUFFIX
) \
106 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.
$(LINUX_KMOD_SUFFIX
)
107 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
110 define KernelPackage
/misdn
/description
111 Modular ISDN driver support
114 $(eval
$(call KernelPackage
,misdn
))
117 define KernelPackage
/isdn4linux
118 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
119 TITLE
:=Old ISDN4Linux
(deprecated
)
124 CONFIG_ISDN_PPP_VJ
=y \
126 CONFIG_IPPP_FILTER
=y \
127 CONFIG_ISDN_PPP_BSDCOMP \
128 CONFIG_ISDN_AUDIO
=y \
129 CONFIG_ISDN_TTY_FAX
=y \
131 CONFIG_ISDN_DIVERSION \
132 CONFIG_ISDN_CAPI_CAPIDRV
=n \
133 CONFIG_ISDN_DRV_ACT2000
=n \
134 CONFIG_ISDN_DRV_GIGASET
=n \
135 CONFIG_ISDN_DRV_HISAX
=n \
136 CONFIG_ISDN_DRV_ICN
=n \
137 CONFIG_ISDN_DRV_LOOP
=n \
138 CONFIG_ISDN_DRV_PCBIT
=n \
139 CONFIG_ISDN_DRV_SC
=n \
142 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.
$(LINUX_KMOD_SUFFIX
) \
143 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
) \
144 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.
$(LINUX_KMOD_SUFFIX
)
145 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
148 define KernelPackage
/isdn4linux
/description
149 This driver allows you to use an ISDN adapter for networking
152 $(eval
$(call KernelPackage
,isdn4linux
))
155 define KernelPackage
/ipip
156 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
157 TITLE
:=IP-in-IP encapsulation
158 DEPENDS
:=+LINUX_2_6
:kmod-iptunnel4
159 KCONFIG
:=CONFIG_NET_IPIP
160 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
161 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
164 define KernelPackage
/ipip
/description
165 Kernel modules for IP-in-IP encapsulation
168 $(eval
$(call KernelPackage
,ipip
))
171 define KernelPackage
/ipsec
172 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
173 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
174 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
179 $(LINUX_DIR
)/net
/key
/af_key.
$(LINUX_KMOD_SUFFIX
) \
180 $(LINUX_DIR
)/net
/xfrm
/xfrm_user.
$(LINUX_KMOD_SUFFIX
)
183 define KernelPackage
/ipsec
/description
184 Kernel modules for IPsec support in both IPv4 and IPv6.
190 $(eval
$(call KernelPackage
,ipsec
))
193 define KernelPackage
/ipsec4
194 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
195 TITLE
:=IPsec related modules
(IPv4
)
196 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
201 CONFIG_INET_XFRM_MODE_BEET \
202 CONFIG_INET_XFRM_MODE_TRANSPORT \
203 CONFIG_INET_XFRM_MODE_TUNNEL \
204 CONFIG_INET_XFRM_TUNNEL
205 FILES
:= $(foreach mod
,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel
, \
206 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
210 define KernelPackage
/ipsec4
/description
211 Kernel modules for IPsec support in IPv4.
217 - xfrm4_mode_transport
222 $(eval
$(call KernelPackage
,ipsec4
))
225 define KernelPackage
/ipsec6
226 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
227 TITLE
:=IPsec related modules
(IPv6
)
228 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
232 CONFIG_INET6_IPCOMP \
233 CONFIG_INET6_XFRM_MODE_BEET \
234 CONFIG_INET6_XFRM_MODE_TRANSPORT \
235 CONFIG_INET6_XFRM_MODE_TUNNEL \
236 CONFIG_INET6_XFRM_TUNNEL
237 FILES
:= $(foreach mod
,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel
, \
238 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
242 define KernelPackage
/ipsec6
/description
243 Kernel modules for IPsec support in IPv6.
249 - xfrm6_mode_transport
254 $(eval
$(call KernelPackage
,ipsec6
))
257 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
258 define KernelPackage
/iptunnel4
259 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
260 TITLE
:=IPv4 tunneling
265 FILES
:= $(foreach mod
,tunnel4
, \
266 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
268 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
271 define KernelPackage
/iptunnel4
/description
272 Kernel modules for IPv4 tunneling
275 $(eval
$(call KernelPackage
,iptunnel4
))
278 define KernelPackage
/iptunnel6
279 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
280 TITLE
:=IPv6 tunneling
281 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
284 FILES
:= $(foreach mod
,tunnel6
, \
285 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
287 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
290 define KernelPackage
/iptunnel6
/description
291 Kernel modules for IPv6 tunneling
294 $(eval
$(call KernelPackage
,iptunnel6
))
297 define KernelPackage
/ipv6
298 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
302 CONFIG_IPV6_PRIVACY
=y \
303 CONFIG_IPV6_MULTIPLE_TABLES
=y \
304 CONFIG_IPV6_MROUTE
=y \
305 CONFIG_IPV6_PIMSM_V2
=n \
306 CONFIG_IPV6_SUBTREES
=y
307 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
308 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
311 define KernelPackage
/ipv6
/description
312 Kernel modules for IPv6 support
315 $(eval
$(call KernelPackage
,ipv6
))
318 # sit is not selectable on 2.4, but built when ipv6 is enabled
319 define KernelPackage
/sit
320 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
321 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
322 TITLE
:=IPv6-in-IPv4 tunnelling
323 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
324 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
325 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
328 define KernelPackage
/sit
/description
329 Kernel modules for IPv6-in-IPv4 tunnelling
332 $(eval
$(call KernelPackage
,sit
))
335 define KernelPackage
/ip6-tunnel
336 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
337 TITLE
:=IP-in-IPv6 tunnelling
338 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
339 KCONFIG
:= CONFIG_IPV6_TUNNEL
340 FILES
:= $(foreach mod
,ip6_tunnel
, \
341 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
343 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
346 define KernelPackage
/ip6-tunnel
/description
347 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
350 $(eval
$(call KernelPackage
,ip6-tunnel
))
353 define KernelPackage
/gre
354 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
356 KCONFIG
:=CONFIG_NET_IPGRE
357 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
360 define KernelPackage
/gre
/description
361 Generic Routing Encapsulation support
364 $(eval
$(call KernelPackage
,gre
))
367 define KernelPackage
/tun
368 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
369 TITLE
:=Universal TUN
/TAP driver
371 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
372 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
375 define KernelPackage
/tun
/description
376 Kernel support for the TUN
/TAP tunneling device
379 $(eval
$(call KernelPackage
,tun
))
382 define KernelPackage
/ppp
383 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
385 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
391 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
392 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
393 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
394 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
397 define KernelPackage
/ppp
/description
398 Kernel modules for PPP support
401 $(eval
$(call KernelPackage
,ppp
))
404 define KernelPackage
/ppp-synctty
405 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
406 TITLE
:=PPP sync tty support
408 KCONFIG
:=CONFIG_PPP_SYNC_TTY
409 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
410 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
413 define KernelPackage
/ppp-synctty
/description
414 Kernel modules for PPP sync tty support
417 $(eval
$(call KernelPackage
,ppp-synctty
))
420 define KernelPackage
/pppoe
421 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
424 KCONFIG
:=CONFIG_PPPOE
426 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
427 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
430 define KernelPackage
/pppoe
/description
431 Kernel modules for PPPoE
(PPP over Ethernet
) support
434 $(eval
$(call KernelPackage
,pppoe
))
437 define KernelPackage
/pppoa
438 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
440 DEPENDS
:=kmod-ppp
+kmod-atm
441 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
442 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
443 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
446 define KernelPackage
/pppoa
/description
447 Kernel modules for PPPoA
(PPP over ATM
) support
450 $(eval
$(call KernelPackage
,pppoa
))
453 define KernelPackage
/ipoa
454 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
457 KCONFIG
:=CONFIG_ATM_CLIP
458 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
459 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
462 define KernelPackage
/ipoa
/description
463 Kernel modules for IPoA
(IP over ATM
) support
466 $(eval
$(call KernelPackage
,ipoa
))
469 define KernelPackage
/mppe
470 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
471 TITLE
:=Microsoft PPP compression
/encryption
472 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
474 CONFIG_PPP_MPPE_MPPC \
478 define KernelPackage
/mppe
/2.4
479 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
480 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
481 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
484 define KernelPackage
/mppe
/2.6
485 # KCONFIG:=CONFIG_PPP_MPPE
486 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
487 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
490 define KernelPackage
/mppe
/description
491 Kernel modules for Microsoft PPP compression
/encryption
494 $(eval
$(call KernelPackage
,mppe
))
497 define KernelPackage
/sched
498 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
499 TITLE
:=Traffic schedulers
502 CONFIG_NET_SCH_DSMARK \
503 CONFIG_NET_SCH_ESFQ \
504 CONFIG_NET_SCH_FIFO \
505 CONFIG_NET_SCH_GRED \
506 CONFIG_NET_SCH_HFSC \
508 CONFIG_NET_SCH_INGRESS \
509 CONFIG_NET_SCH_PRIO \
513 CONFIG_NET_SCH_TEQL \
515 CONFIG_NET_CLS_ACT
=y \
516 CONFIG_NET_CLS_BASIC \
517 CONFIG_NET_CLS_FLOW \
519 CONFIG_NET_CLS_ROUTE4 \
520 CONFIG_NET_CLS_TCINDEX \
522 CONFIG_NET_ACT_MIRRED \
524 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
527 define KernelPackage
/sched
/description
528 Kernel schedulers for IP traffic
531 $(eval
$(call KernelPackage
,sched
))
534 define KernelPackage
/ax25
535 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
542 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
543 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
544 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
547 define KernelPackage
/ax25
/description
548 Kernel modules for AX25 support
551 $(eval
$(call KernelPackage
,ax25
))
554 define KernelPackage
/mp-alg
555 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
556 TITLE
:=ECMP caching algorithms
559 CONFIG_IP_ROUTE_MULTIPATH_RR \
560 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
561 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
562 CONFIG_IP_ROUTE_MULTIPATH_DRR
564 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
565 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
566 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
567 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
568 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
571 define KernelPackage
/mp-alg
/description
572 Kernel modules that provide several different algorithms for multipath
573 route selection from the route cache. The iproute
"mpath" argument allows
574 specifying which algorithm to use for routes.
575 quagga
(at least
<=0.99.6) requires a multipath patch to support this
576 cached mp route feature.
579 $(eval
$(call KernelPackage
,mp-alg
))
582 define KernelPackage
/pktgen
583 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
584 TITLE
:=Network packet generator
586 KCONFIG
:=CONFIG_NET_PKTGEN
587 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
588 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
591 define KernelPackage
/pktgen
/description
592 Kernel modules for the Network Packet Generator
595 $(eval
$(call KernelPackage
,pktgen
))