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
/capi.
$(LINUX_KMOD_SUFFIX
) \
73 $(LINUX_DIR
)/drivers
/isdn
/capi
/capifs.
$(LINUX_KMOD_SUFFIX
)
74 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capi capifs
)
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
/ipip
119 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
120 TITLE
:=IP-in-IP encapsulation
121 DEPENDS
:=+LINUX_2_6
:kmod-iptunnel4
122 KCONFIG
:=CONFIG_NET_IPIP
123 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
124 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
127 define KernelPackage
/ipip
/description
128 Kernel modules for IP-in-IP encapsulation
131 $(eval
$(call KernelPackage
,ipip
))
134 define KernelPackage
/ipsec
135 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
136 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
137 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
142 $(LINUX_DIR
)/net
/key
/af_key.
$(LINUX_KMOD_SUFFIX
) \
143 $(LINUX_DIR
)/net
/xfrm
/xfrm_user.
$(LINUX_KMOD_SUFFIX
)
146 define KernelPackage
/ipsec
/description
147 Kernel modules for IPsec support in both IPv4 and IPv6.
153 $(eval
$(call KernelPackage
,ipsec
))
156 define KernelPackage
/ipsec4
157 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
158 TITLE
:=IPsec related modules
(IPv4
)
159 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
164 CONFIG_INET_XFRM_MODE_BEET \
165 CONFIG_INET_XFRM_MODE_TRANSPORT \
166 CONFIG_INET_XFRM_MODE_TUNNEL \
167 CONFIG_INET_XFRM_TUNNEL
168 FILES
:= $(foreach mod
,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel
, \
169 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
173 define KernelPackage
/ipsec4
/description
174 Kernel modules for IPsec support in IPv4.
180 - xfrm4_mode_transport
185 $(eval
$(call KernelPackage
,ipsec4
))
188 define KernelPackage
/ipsec6
189 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
190 TITLE
:=IPsec related modules
(IPv6
)
191 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
195 CONFIG_INET6_IPCOMP \
196 CONFIG_INET6_XFRM_MODE_BEET \
197 CONFIG_INET6_XFRM_MODE_TRANSPORT \
198 CONFIG_INET6_XFRM_MODE_TUNNEL \
199 CONFIG_INET6_XFRM_TUNNEL
200 FILES
:= $(foreach mod
,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel
, \
201 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
205 define KernelPackage
/ipsec6
/description
206 Kernel modules for IPsec support in IPv6.
212 - xfrm6_mode_transport
217 $(eval
$(call KernelPackage
,ipsec6
))
220 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
221 define KernelPackage
/iptunnel4
222 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
223 TITLE
:=IPv4 tunneling
228 FILES
:= $(foreach mod
,tunnel4
, \
229 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
231 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
234 define KernelPackage
/iptunnel4
/description
235 Kernel modules for IPv4 tunneling
238 $(eval
$(call KernelPackage
,iptunnel4
))
241 define KernelPackage
/iptunnel6
242 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
243 TITLE
:=IPv6 tunneling
244 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
247 FILES
:= $(foreach mod
,tunnel6
, \
248 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
250 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
253 define KernelPackage
/iptunnel6
/description
254 Kernel modules for IPv6 tunneling
257 $(eval
$(call KernelPackage
,iptunnel6
))
260 define KernelPackage
/ipv6
261 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
265 CONFIG_IPV6_PRIVACY
=y \
266 CONFIG_IPV6_MULTIPLE_TABLES
=y \
267 CONFIG_IPV6_SUBTREES
=y
268 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
269 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
272 define KernelPackage
/ipv6
/description
273 Kernel modules for IPv6 support
276 $(eval
$(call KernelPackage
,ipv6
))
279 # sit is not selectable on 2.4, but built when ipv6 is enabled
280 define KernelPackage
/sit
281 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
282 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
283 TITLE
:=IPv6-in-IPv4 tunnelling
284 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
285 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
286 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
289 define KernelPackage
/sit
/description
290 Kernel modules for IPv6-in-IPv4 tunnelling
293 $(eval
$(call KernelPackage
,sit
))
296 define KernelPackage
/ip6-tunnel
297 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
298 TITLE
:=IP-in-IPv6 tunnelling
299 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
300 KCONFIG
:= CONFIG_IPV6_TUNNEL
301 FILES
:= $(foreach mod
,ip6_tunnel
, \
302 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
304 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
307 define KernelPackage
/ip6-tunnel
/description
308 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
311 $(eval
$(call KernelPackage
,ip6-tunnel
))
314 define KernelPackage
/gre
315 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
317 KCONFIG
:=CONFIG_NET_IPGRE
318 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
321 define KernelPackage
/gre
/description
322 Generic Routing Encapsulation support
325 $(eval
$(call KernelPackage
,gre
))
328 define KernelPackage
/tun
329 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
330 TITLE
:=Universal TUN
/TAP driver
332 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
333 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
336 define KernelPackage
/tun
/description
337 Kernel support for the TUN
/TAP tunneling device
340 $(eval
$(call KernelPackage
,tun
))
343 define KernelPackage
/ppp
344 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
346 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
352 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
353 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
354 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
355 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
358 define KernelPackage
/ppp
/description
359 Kernel modules for PPP support
362 $(eval
$(call KernelPackage
,ppp
))
365 define KernelPackage
/ppp-synctty
366 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
367 TITLE
:=PPP sync tty support
369 KCONFIG
:=CONFIG_PPP_SYNC_TTY
370 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
371 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
374 define KernelPackage
/ppp-synctty
/description
375 Kernel modules for PPP sync tty support
378 $(eval
$(call KernelPackage
,ppp-synctty
))
381 define KernelPackage
/pppoe
382 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
385 KCONFIG
:=CONFIG_PPPOE
387 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
388 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
391 define KernelPackage
/pppoe
/description
392 Kernel modules for PPPoE
(PPP over Ethernet
) support
395 $(eval
$(call KernelPackage
,pppoe
))
398 define KernelPackage
/pppoa
399 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
401 DEPENDS
:=kmod-ppp
+kmod-atm
402 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
403 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
404 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
407 define KernelPackage
/pppoa
/description
408 Kernel modules for PPPoA
(PPP over ATM
) support
411 $(eval
$(call KernelPackage
,pppoa
))
414 define KernelPackage
/ipoa
415 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
418 KCONFIG
:=CONFIG_ATM_CLIP
419 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
420 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
423 define KernelPackage
/ipoa
/description
424 Kernel modules for IPoA
(IP over ATM
) support
427 $(eval
$(call KernelPackage
,ipoa
))
430 define KernelPackage
/mppe
431 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
432 TITLE
:=Microsoft PPP compression
/encryption
433 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
435 CONFIG_PPP_MPPE_MPPC \
439 define KernelPackage
/mppe
/2.4
440 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
441 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
442 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
445 define KernelPackage
/mppe
/2.6
446 # KCONFIG:=CONFIG_PPP_MPPE
447 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
448 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
451 define KernelPackage
/mppe
/description
452 Kernel modules for Microsoft PPP compression
/encryption
455 $(eval
$(call KernelPackage
,mppe
))
458 define KernelPackage
/sched
459 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
460 TITLE
:=Traffic schedulers
463 CONFIG_NET_SCH_DSMARK \
464 CONFIG_NET_SCH_ESFQ \
465 CONFIG_NET_SCH_FIFO \
466 CONFIG_NET_SCH_GRED \
467 CONFIG_NET_SCH_HFSC \
469 CONFIG_NET_SCH_INGRESS \
470 CONFIG_NET_SCH_PRIO \
475 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
478 define KernelPackage
/sched
/description
479 Kernel schedulers for IP traffic
482 $(eval
$(call KernelPackage
,sched
))
485 define KernelPackage
/ax25
486 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
492 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
493 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
494 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
497 define KernelPackage
/ax25
/description
498 Kernel modules for AX25 support
501 $(eval
$(call KernelPackage
,ax25
))
504 define KernelPackage
/mp-alg
505 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
506 TITLE
:=ECMP caching algorithms
509 CONFIG_IP_ROUTE_MULTIPATH_RR \
510 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
511 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
512 CONFIG_IP_ROUTE_MULTIPATH_DRR
514 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
515 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
516 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
517 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
518 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
521 define KernelPackage
/mp-alg
/description
522 Kernel modules that provide several different algorithms for multipath
523 route selection from the route cache. The iproute
"mpath" argument allows
524 specifying which algorithm to use for routes.
525 quagga
(at least
<=0.99.6) requires a multipath patch to support this
526 cached mp route feature.
529 $(eval
$(call KernelPackage
,mp-alg
))
532 define KernelPackage
/pktgen
533 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
534 TITLE
:=Network packet generator
536 KCONFIG
:=CONFIG_NET_PKTGEN
537 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
538 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
541 define KernelPackage
/pktgen
/description
542 Kernel modules for the Network Packet Generator
545 $(eval
$(call KernelPackage
,pktgen
))