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_SUBTREES
=y
305 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
306 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
309 define KernelPackage
/ipv6
/description
310 Kernel modules for IPv6 support
313 $(eval
$(call KernelPackage
,ipv6
))
316 # sit is not selectable on 2.4, but built when ipv6 is enabled
317 define KernelPackage
/sit
318 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
319 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
320 TITLE
:=IPv6-in-IPv4 tunnelling
321 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
322 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
323 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
326 define KernelPackage
/sit
/description
327 Kernel modules for IPv6-in-IPv4 tunnelling
330 $(eval
$(call KernelPackage
,sit
))
333 define KernelPackage
/ip6-tunnel
334 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
335 TITLE
:=IP-in-IPv6 tunnelling
336 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
337 KCONFIG
:= CONFIG_IPV6_TUNNEL
338 FILES
:= $(foreach mod
,ip6_tunnel
, \
339 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
341 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
344 define KernelPackage
/ip6-tunnel
/description
345 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
348 $(eval
$(call KernelPackage
,ip6-tunnel
))
351 define KernelPackage
/gre
352 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
354 KCONFIG
:=CONFIG_NET_IPGRE
355 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
358 define KernelPackage
/gre
/description
359 Generic Routing Encapsulation support
362 $(eval
$(call KernelPackage
,gre
))
365 define KernelPackage
/tun
366 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
367 TITLE
:=Universal TUN
/TAP driver
369 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
370 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
373 define KernelPackage
/tun
/description
374 Kernel support for the TUN
/TAP tunneling device
377 $(eval
$(call KernelPackage
,tun
))
380 define KernelPackage
/ppp
381 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
383 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
389 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
390 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
391 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
392 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
395 define KernelPackage
/ppp
/description
396 Kernel modules for PPP support
399 $(eval
$(call KernelPackage
,ppp
))
402 define KernelPackage
/ppp-synctty
403 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
404 TITLE
:=PPP sync tty support
406 KCONFIG
:=CONFIG_PPP_SYNC_TTY
407 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
408 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
411 define KernelPackage
/ppp-synctty
/description
412 Kernel modules for PPP sync tty support
415 $(eval
$(call KernelPackage
,ppp-synctty
))
418 define KernelPackage
/pppoe
419 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
422 KCONFIG
:=CONFIG_PPPOE
424 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
425 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
428 define KernelPackage
/pppoe
/description
429 Kernel modules for PPPoE
(PPP over Ethernet
) support
432 $(eval
$(call KernelPackage
,pppoe
))
435 define KernelPackage
/pppoa
436 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
438 DEPENDS
:=kmod-ppp
+kmod-atm
439 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
440 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
441 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
444 define KernelPackage
/pppoa
/description
445 Kernel modules for PPPoA
(PPP over ATM
) support
448 $(eval
$(call KernelPackage
,pppoa
))
451 define KernelPackage
/ipoa
452 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
455 KCONFIG
:=CONFIG_ATM_CLIP
456 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
457 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
460 define KernelPackage
/ipoa
/description
461 Kernel modules for IPoA
(IP over ATM
) support
464 $(eval
$(call KernelPackage
,ipoa
))
467 define KernelPackage
/mppe
468 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
469 TITLE
:=Microsoft PPP compression
/encryption
470 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
472 CONFIG_PPP_MPPE_MPPC \
476 define KernelPackage
/mppe
/2.4
477 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
478 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
479 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
482 define KernelPackage
/mppe
/2.6
483 # KCONFIG:=CONFIG_PPP_MPPE
484 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
485 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
488 define KernelPackage
/mppe
/description
489 Kernel modules for Microsoft PPP compression
/encryption
492 $(eval
$(call KernelPackage
,mppe
))
495 define KernelPackage
/sched
496 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
497 TITLE
:=Traffic schedulers
500 CONFIG_NET_SCH_DSMARK \
501 CONFIG_NET_SCH_ESFQ \
502 CONFIG_NET_SCH_FIFO \
503 CONFIG_NET_SCH_GRED \
504 CONFIG_NET_SCH_HFSC \
506 CONFIG_NET_SCH_INGRESS \
507 CONFIG_NET_SCH_PRIO \
511 CONFIG_NET_SCH_TEQL \
513 CONFIG_NET_CLS_ACT
=y \
514 CONFIG_NET_CLS_BASIC \
515 CONFIG_NET_CLS_FLOW \
517 CONFIG_NET_CLS_ROUTE4 \
518 CONFIG_NET_CLS_TCINDEX \
520 CONFIG_NET_ACT_MIRRED \
522 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
525 define KernelPackage
/sched
/description
526 Kernel schedulers for IP traffic
529 $(eval
$(call KernelPackage
,sched
))
532 define KernelPackage
/ax25
533 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
540 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
541 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
542 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
545 define KernelPackage
/ax25
/description
546 Kernel modules for AX25 support
549 $(eval
$(call KernelPackage
,ax25
))
552 define KernelPackage
/mp-alg
553 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
554 TITLE
:=ECMP caching algorithms
557 CONFIG_IP_ROUTE_MULTIPATH_RR \
558 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
559 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
560 CONFIG_IP_ROUTE_MULTIPATH_DRR
562 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
563 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
564 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
565 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
566 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
569 define KernelPackage
/mp-alg
/description
570 Kernel modules that provide several different algorithms for multipath
571 route selection from the route cache. The iproute
"mpath" argument allows
572 specifying which algorithm to use for routes.
573 quagga
(at least
<=0.99.6) requires a multipath patch to support this
574 cached mp route feature.
577 $(eval
$(call KernelPackage
,mp-alg
))
580 define KernelPackage
/pktgen
581 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
582 TITLE
:=Network packet generator
584 KCONFIG
:=CONFIG_NET_PKTGEN
585 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
586 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
589 define KernelPackage
/pktgen
/description
590 Kernel modules for the Network Packet Generator
593 $(eval
$(call KernelPackage
,pktgen
))