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
)
77 define KernelPackage
/capi
/description
78 Kernel module for basic CAPI
(ISDN
) support
81 $(eval
$(call KernelPackage
,capi
))
84 define KernelPackage
/ipip
85 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
86 TITLE
:=IP-in-IP encapsulation
87 DEPENDS
:=+kmod-iptunnel4
88 KCONFIG
:=CONFIG_NET_IPIP
89 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
90 AUTOLOAD
:=$(call AutoLoad
,30,ipip
)
93 define KernelPackage
/ipip
/description
94 Kernel modules for IP-in-IP encapsulation
97 $(eval
$(call KernelPackage
,ipip
))
100 define KernelPackage
/ipsec
101 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
102 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
103 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
108 $(LINUX_DIR
)/net
/key
/af_key.
$(LINUX_KMOD_SUFFIX
) \
109 $(LINUX_DIR
)/net
/xfrm
/xfrm_user.
$(LINUX_KMOD_SUFFIX
)
112 define KernelPackage
/ipsec
/description
113 Kernel modules for IPsec support in both IPv4 and IPv6.
119 $(eval
$(call KernelPackage
,ipsec
))
122 define KernelPackage
/ipsec4
123 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
124 TITLE
:=IPsec related modules
(IPv4
)
125 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
130 CONFIG_INET_XFRM_MODE_BEET \
131 CONFIG_INET_XFRM_MODE_TRANSPORT \
132 CONFIG_INET_XFRM_MODE_TUNNEL \
133 CONFIG_INET_XFRM_TUNNEL
134 FILES
:= $(foreach mod
,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel
, \
135 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
139 define KernelPackage
/ipsec4
/description
140 Kernel modules for IPsec support in IPv4.
146 - xfrm4_mode_transport
151 $(eval
$(call KernelPackage
,ipsec4
))
154 define KernelPackage
/ipsec6
155 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
156 TITLE
:=IPsec related modules
(IPv6
)
157 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
161 CONFIG_INET6_IPCOMP \
162 CONFIG_INET6_XFRM_MODE_BEET \
163 CONFIG_INET6_XFRM_MODE_TRANSPORT \
164 CONFIG_INET6_XFRM_MODE_TUNNEL \
165 CONFIG_INET6_XFRM_TUNNEL
166 FILES
:= $(foreach mod
,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel
, \
167 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
171 define KernelPackage
/ipsec6
/description
172 Kernel modules for IPsec support in IPv6.
178 - xfrm6_mode_transport
183 $(eval
$(call KernelPackage
,ipsec6
))
186 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
187 define KernelPackage
/iptunnel4
188 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
189 TITLE
:=IPv4 tunneling
194 FILES
:= $(foreach mod
,tunnel4
, \
195 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
197 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
200 define KernelPackage
/iptunnel4
/description
201 Kernel modules for IPv4 tunneling
204 $(eval
$(call KernelPackage
,iptunnel4
))
207 define KernelPackage
/iptunnel6
208 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
209 TITLE
:=IPv6 tunneling
210 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
213 FILES
:= $(foreach mod
,tunnel6
, \
214 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
216 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
219 define KernelPackage
/iptunnel6
/description
220 Kernel modules for IPv6 tunneling
223 $(eval
$(call KernelPackage
,iptunnel6
))
226 define KernelPackage
/ipv6
227 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
231 CONFIG_IPV6_PRIVACY
=y \
232 CONFIG_IPV6_MULTIPLE_TABLES
=y \
233 CONFIG_IPV6_SUBTREES
=y
234 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
235 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
238 define KernelPackage
/ipv6
/description
239 Kernel modules for IPv6 support
242 $(eval
$(call KernelPackage
,ipv6
))
245 define KernelPackage
/sit
246 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
247 DEPENDS
:=+kmod-iptunnel4
248 TITLE
:=IPv6-in-IPv4 tunnelling
251 # sit is compiled in the 2.4 ipv6 stack
252 define KernelPackage
/sit
/2.4
253 DEPENDS
:= @LINUX_2_4
+kmod-ipv6
257 define KernelPackage
/sit
/2.6
258 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel4
259 KCONFIG
+=CONFIG_IPV6_SIT
260 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
261 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
264 define KernelPackage
/sit
/description
265 Kernel modules for IPv6-in-IPv4 tunnelling
268 $(eval
$(call KernelPackage
,sit
))
271 define KernelPackage
/ip6-tunnel
272 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
273 TITLE
:=IP-in-IPv6 tunnelling
274 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
275 KCONFIG
:= CONFIG_IPV6_TUNNEL
276 FILES
:= $(foreach mod
,ip6_tunnel
, \
277 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
279 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
282 define KernelPackage
/ip6-tunnel
/description
283 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
286 $(eval
$(call KernelPackage
,ip6-tunnel
))
289 define KernelPackage
/gre
290 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
292 KCONFIG
:=CONFIG_NET_IPGRE
293 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
296 define KernelPackage
/gre
/description
297 Generic Routing Encapsulation support
300 $(eval
$(call KernelPackage
,gre
))
303 define KernelPackage
/tun
304 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
305 TITLE
:=Universal TUN
/TAP driver
307 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
308 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
311 define KernelPackage
/tun
/description
312 Kernel support for the TUN
/TAP tunneling device
315 $(eval
$(call KernelPackage
,tun
))
318 define KernelPackage
/ppp
319 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
321 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
327 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
328 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
329 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
330 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
333 define KernelPackage
/ppp
/description
334 Kernel modules for PPP support
337 $(eval
$(call KernelPackage
,ppp
))
340 define KernelPackage
/ppp-synctty
341 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
342 TITLE
:=PPP sync tty support
344 KCONFIG
:=CONFIG_PPP_SYNC_TTY
345 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
346 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
349 define KernelPackage
/ppp-synctty
/description
350 Kernel modules for PPP sync tty support
353 $(eval
$(call KernelPackage
,ppp-synctty
))
356 define KernelPackage
/pppoe
357 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
360 KCONFIG
:=CONFIG_PPPOE
362 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
363 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
366 define KernelPackage
/pppoe
/description
367 Kernel modules for PPPoE
(PPP over Ethernet
) support
370 $(eval
$(call KernelPackage
,pppoe
))
373 define KernelPackage
/pppoa
374 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
376 DEPENDS
:=kmod-ppp
+kmod-atm
377 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
378 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
379 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
382 define KernelPackage
/pppoa
/description
383 Kernel modules for PPPoA
(PPP over ATM
) support
386 $(eval
$(call KernelPackage
,pppoa
))
389 define KernelPackage
/ipoa
390 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
393 KCONFIG
:=CONFIG_ATM_CLIP
394 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
395 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
398 define KernelPackage
/ipoa
/description
399 Kernel modules for IPoA
(IP over ATM
) support
402 $(eval
$(call KernelPackage
,ipoa
))
405 define KernelPackage
/mppe
406 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
407 TITLE
:=Microsoft PPP compression
/encryption
408 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
410 CONFIG_PPP_MPPE_MPPC \
414 define KernelPackage
/mppe
/2.4
415 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
416 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
417 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
420 define KernelPackage
/mppe
/2.6
421 # KCONFIG:=CONFIG_PPP_MPPE
422 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
423 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
426 define KernelPackage
/mppe
/description
427 Kernel modules for Microsoft PPP compression
/encryption
430 $(eval
$(call KernelPackage
,mppe
))
433 define KernelPackage
/sched
434 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
435 TITLE
:=Traffic schedulers
438 CONFIG_NET_SCH_DSMARK \
439 CONFIG_NET_SCH_ESFQ \
440 CONFIG_NET_SCH_FIFO \
441 CONFIG_NET_SCH_GRED \
442 CONFIG_NET_SCH_HFSC \
444 CONFIG_NET_SCH_INGRESS \
445 CONFIG_NET_SCH_PRIO \
450 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
453 define KernelPackage
/sched
/description
454 Kernel schedulers for IP traffic
457 $(eval
$(call KernelPackage
,sched
))
460 define KernelPackage
/ax25
461 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
467 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
468 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
469 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
472 define KernelPackage
/ax25
/description
473 Kernel modules for AX25 support
476 $(eval
$(call KernelPackage
,ax25
))
479 define KernelPackage
/mp-alg
480 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
481 TITLE
:=ECMP caching algorithms
484 CONFIG_IP_ROUTE_MULTIPATH_RR \
485 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
486 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
487 CONFIG_IP_ROUTE_MULTIPATH_DRR
489 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
490 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
491 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
492 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
493 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
496 define KernelPackage
/mp-alg
/description
497 Kernel modules that provide several different algorithms for multipath
498 route selection from the route cache. The iproute
"mpath" argument allows
499 specifying which algorithm to use for routes.
500 quagga
(at least
<=0.99.6) requires a multipath patch to support this
501 cached mp route feature.
504 $(eval
$(call KernelPackage
,mp-alg
))
507 define KernelPackage
/pktgen
508 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
509 TITLE
:=Network packet generator
511 KCONFIG
:=CONFIG_NET_PKTGEN
512 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
513 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
516 define KernelPackage
/pktgen
/description
517 Kernel modules for the Network Packet Generator
520 $(eval
$(call KernelPackage
,pktgen
))