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
:=+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
))
219 define KernelPackage
/iptunnel4
220 TITLE
:=IP in IP encapsulation support
221 KCONFIG
:=$(CONFIG_NET_IPIP
)
225 define KernelPackage
/iptunnel4
/2.4
226 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
227 AUTOLOAD
:=$(call AutoLoad
,30,ipip
)
230 define KernelPackage
/iptunnel4
/2.6
232 $(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
) \
233 $(LINUX_DIR
)/net
/ipv4
/tunnel4.
$(LINUX_KMOD_SUFFIX
)
234 AUTOLOAD
:=$(call AutoLoad
,30,ipip tunnel4
)
237 define KernelPackage
/iptunnel4
/description
238 Kernel modules for IPv4 tunneling
241 $(eval
$(call KernelPackage
,iptunnel4
))
243 define KernelPackage
/iptunnel6
244 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
245 TITLE
:=IPv6 tunneling
246 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
249 FILES
:= $(foreach mod
,tunnel6
, \
250 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
252 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
255 define KernelPackage
/iptunnel6
/description
256 Kernel modules for IPv6 tunneling
259 $(eval
$(call KernelPackage
,iptunnel6
))
262 define KernelPackage
/ipv6
263 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
267 CONFIG_IPV6_PRIVACY
=y \
268 CONFIG_IPV6_MULTIPLE_TABLES
=y \
269 CONFIG_IPV6_SUBTREES
=y
270 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
271 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
274 define KernelPackage
/ipv6
/description
275 Kernel modules for IPv6 support
278 $(eval
$(call KernelPackage
,ipv6
))
281 define KernelPackage
/sit
282 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
283 DEPENDS
:=+kmod-iptunnel4
284 TITLE
:=IPv6-in-IPv4 tunnelling
287 # sit is compiled in the 2.4 ipv6 stack
288 define KernelPackage
/sit
/2.4
289 DEPENDS
:= @LINUX_2_4
+kmod-ipv6
293 define KernelPackage
/sit
/2.6
294 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel4
295 KCONFIG
+=CONFIG_IPV6_SIT
296 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
297 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
300 define KernelPackage
/sit
/description
301 Kernel modules for IPv6-in-IPv4 tunnelling
304 $(eval
$(call KernelPackage
,sit
))
307 define KernelPackage
/ip6-tunnel
308 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
309 TITLE
:=IP-in-IPv6 tunnelling
310 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
311 KCONFIG
:= CONFIG_IPV6_TUNNEL
312 FILES
:= $(foreach mod
,ip6_tunnel
, \
313 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
315 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
318 define KernelPackage
/ip6-tunnel
/description
319 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
322 $(eval
$(call KernelPackage
,ip6-tunnel
))
325 define KernelPackage
/gre
326 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
328 KCONFIG
:=CONFIG_NET_IPGRE
329 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
332 define KernelPackage
/gre
/description
333 Generic Routing Encapsulation support
336 $(eval
$(call KernelPackage
,gre
))
339 define KernelPackage
/tun
340 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
341 TITLE
:=Universal TUN
/TAP driver
343 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
344 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
347 define KernelPackage
/tun
/description
348 Kernel support for the TUN
/TAP tunneling device
351 $(eval
$(call KernelPackage
,tun
))
354 define KernelPackage
/ppp
355 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
357 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
363 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
364 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
365 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
366 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
369 define KernelPackage
/ppp
/description
370 Kernel modules for PPP support
373 $(eval
$(call KernelPackage
,ppp
))
376 define KernelPackage
/ppp-synctty
377 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
378 TITLE
:=PPP sync tty support
380 KCONFIG
:=CONFIG_PPP_SYNC_TTY
381 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
382 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
385 define KernelPackage
/ppp-synctty
/description
386 Kernel modules for PPP sync tty support
389 $(eval
$(call KernelPackage
,ppp-synctty
))
392 define KernelPackage
/pppoe
393 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
396 KCONFIG
:=CONFIG_PPPOE
398 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
399 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
402 define KernelPackage
/pppoe
/description
403 Kernel modules for PPPoE
(PPP over Ethernet
) support
406 $(eval
$(call KernelPackage
,pppoe
))
409 define KernelPackage
/pppoa
410 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
412 DEPENDS
:=kmod-ppp
+kmod-atm
413 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
414 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
415 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
418 define KernelPackage
/pppoa
/description
419 Kernel modules for PPPoA
(PPP over ATM
) support
422 $(eval
$(call KernelPackage
,pppoa
))
425 define KernelPackage
/ipoa
426 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
429 KCONFIG
:=CONFIG_ATM_CLIP
430 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
431 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
434 define KernelPackage
/ipoa
/description
435 Kernel modules for IPoA
(IP over ATM
) support
438 $(eval
$(call KernelPackage
,ipoa
))
441 define KernelPackage
/mppe
442 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
443 TITLE
:=Microsoft PPP compression
/encryption
444 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
446 CONFIG_PPP_MPPE_MPPC \
450 define KernelPackage
/mppe
/2.4
451 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
452 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
453 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
456 define KernelPackage
/mppe
/2.6
457 # KCONFIG:=CONFIG_PPP_MPPE
458 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
459 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
462 define KernelPackage
/mppe
/description
463 Kernel modules for Microsoft PPP compression
/encryption
466 $(eval
$(call KernelPackage
,mppe
))
469 define KernelPackage
/sched
470 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
471 TITLE
:=Traffic schedulers
474 CONFIG_NET_SCH_DSMARK \
475 CONFIG_NET_SCH_ESFQ \
476 CONFIG_NET_SCH_FIFO \
477 CONFIG_NET_SCH_GRED \
478 CONFIG_NET_SCH_HFSC \
480 CONFIG_NET_SCH_INGRESS \
481 CONFIG_NET_SCH_PRIO \
486 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
489 define KernelPackage
/sched
/description
490 Kernel schedulers for IP traffic
493 $(eval
$(call KernelPackage
,sched
))
496 define KernelPackage
/ax25
497 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
503 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
504 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
505 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
508 define KernelPackage
/ax25
/description
509 Kernel modules for AX25 support
512 $(eval
$(call KernelPackage
,ax25
))
515 define KernelPackage
/mp-alg
516 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
517 TITLE
:=ECMP caching algorithms
520 CONFIG_IP_ROUTE_MULTIPATH_RR \
521 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
522 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
523 CONFIG_IP_ROUTE_MULTIPATH_DRR
525 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
526 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
527 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
528 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
529 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
532 define KernelPackage
/mp-alg
/description
533 Kernel modules that provide several different algorithms for multipath
534 route selection from the route cache. The iproute
"mpath" argument allows
535 specifying which algorithm to use for routes.
536 quagga
(at least
<=0.99.6) requires a multipath patch to support this
537 cached mp route feature.
540 $(eval
$(call KernelPackage
,mp-alg
))
543 define KernelPackage
/pktgen
544 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
545 TITLE
:=Network packet generator
547 KCONFIG
:=CONFIG_NET_PKTGEN
548 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
549 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
552 define KernelPackage
/pktgen
/description
553 Kernel modules for the Network Packet Generator
556 $(eval
$(call KernelPackage
,pktgen
))