[package] kernel/modules: split network makefile into netdevices and netsupport
[openwrt/svn-archive/archive.git] / package / kernel / modules / netsupport.mk
1 #
2 # Copyright (C) 2006-2008 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 NETWORK_SUPPORT_MENU:=Network Support
10
11 define KernelPackage/atm
12 SUBMENU:=$(NETWORK_SUPPORT_MENU)
13 TITLE:=ATM support
14 DEPENDS:=@LINUX_2_6
15 KCONFIG:= \
16 CONFIG_ATM \
17 CONFIG_ATM_BR2684
18 FILES:= \
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)
22 endef
23
24 define KernelPackage/atm/description
25 Kernel modules for ATM support
26 endef
27
28 $(eval $(call KernelPackage,atm))
29
30
31 define KernelPackage/atmtcp
32 SUBMENU:=$(NETWORK_SUPPORT_MENU)
33 TITLE:=ATM over TCP
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)
38 endef
39
40 define KernelPackage/atmtcp/description
41 Kernel module for ATM over TCP support
42 endef
43
44 $(eval $(call KernelPackage,atmtcp))
45
46
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)
53 endef
54
55 define KernelPackage/bonding/description
56 Kernel module for NIC bonding.
57 endef
58
59 $(eval $(call KernelPackage,bonding))
60
61
62 define KernelPackage/capi
63 SUBMENU:=$(NETWORK_SUPPORT_MENU)
64 TITLE:=CAPI (ISDN) Support
65 DEPENDS:=@LINUX_2_6
66 KCONFIG:= \
67 CONFIG_ISDN_CAPI \
68 CONFIG_ISDN_CAPI_CAPI20 \
69 CONFIG_ISDN_CAPIFS
70 FILES:= \
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)
75 endef
76
77 define KernelPackage/capi/description
78 Kernel module for basic CAPI (ISDN) support
79 endef
80
81 $(eval $(call KernelPackage,capi))
82
83
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)
91 endef
92
93 define KernelPackage/ipip/description
94 Kernel modules for IP-in-IP encapsulation
95 endef
96
97 $(eval $(call KernelPackage,ipip))
98
99
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
104 KCONFIG:= \
105 CONFIG_NET_KEY \
106 CONFIG_XFRM_USER
107 FILES:= \
108 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
109 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
110 endef
111
112 define KernelPackage/ipsec/description
113 Kernel modules for IPsec support in both IPv4 and IPv6.
114 Includes:
115 - af_key
116 - xfrm_user
117 endef
118
119 $(eval $(call KernelPackage,ipsec))
120
121
122 define KernelPackage/ipsec4
123 SUBMENU:=$(NETWORK_SUPPORT_MENU)
124 TITLE:=IPsec related modules (IPv4)
125 DEPENDS:=kmod-ipsec +kmod-iptunnel4
126 KCONFIG:= \
127 CONFIG_INET_AH \
128 CONFIG_INET_ESP \
129 CONFIG_INET_IPCOMP \
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) \
136 )
137 endef
138
139 define KernelPackage/ipsec4/description
140 Kernel modules for IPsec support in IPv4.
141 Includes:
142 - ah4
143 - esp4
144 - ipcomp
145 - xfrm4_mode_beet
146 - xfrm4_mode_transport
147 - xfrm4_mode_tunnel
148 - xfrm4_tunnel
149 endef
150
151 $(eval $(call KernelPackage,ipsec4))
152
153
154 define KernelPackage/ipsec6
155 SUBMENU:=$(NETWORK_SUPPORT_MENU)
156 TITLE:=IPsec related modules (IPv6)
157 DEPENDS:=kmod-ipsec +kmod-iptunnel6
158 KCONFIG:= \
159 CONFIG_INET6_AH \
160 CONFIG_INET6_ESP \
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) \
168 )
169 endef
170
171 define KernelPackage/ipsec6/description
172 Kernel modules for IPsec support in IPv6.
173 Includes:
174 - ah6
175 - esp6
176 - ipcomp6
177 - xfrm6_mode_beet
178 - xfrm6_mode_transport
179 - xfrm6_mode_tunnel
180 - xfrm6_tunnel
181 endef
182
183 $(eval $(call KernelPackage,ipsec6))
184
185
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
190 DEPENDS:= @LINUX_2_6
191 KCONFIG:= \
192 CONFIG_NET_IPIP \
193 CONFIG_INET_TUNNEL
194 FILES:= $(foreach mod,tunnel4, \
195 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
196 )
197 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
198 endef
199
200 define KernelPackage/iptunnel4/description
201 Kernel modules for IPv4 tunneling
202 endef
203
204 $(eval $(call KernelPackage,iptunnel4))
205
206
207 define KernelPackage/iptunnel6
208 SUBMENU:=$(NETWORK_SUPPORT_MENU)
209 TITLE:=IPv6 tunneling
210 DEPENDS:= @LINUX_2_6 +kmod-ipv6
211 KCONFIG:= \
212 CONFIG_INET6_TUNNEL
213 FILES:= $(foreach mod,tunnel6, \
214 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
215 )
216 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
217 endef
218
219 define KernelPackage/iptunnel6/description
220 Kernel modules for IPv6 tunneling
221 endef
222
223 $(eval $(call KernelPackage,iptunnel6))
224
225
226 define KernelPackage/ipv6
227 SUBMENU:=$(NETWORK_SUPPORT_MENU)
228 TITLE:=IPv6 support
229 KCONFIG:= \
230 CONFIG_IPV6 \
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)
236 endef
237
238 define KernelPackage/ipv6/description
239 Kernel modules for IPv6 support
240 endef
241
242 $(eval $(call KernelPackage,ipv6))
243
244
245 define KernelPackage/sit
246 SUBMENU:=$(NETWORK_SUPPORT_MENU)
247 DEPENDS:=+kmod-iptunnel4
248 TITLE:=IPv6-in-IPv4 tunnelling
249 endef
250
251 # sit is compiled in the 2.4 ipv6 stack
252 define KernelPackage/sit/2.4
253 DEPENDS:= @LINUX_2_4 +kmod-ipv6
254 KCONFIG:=CONFIG_IPV6
255 endef
256
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)
262 endef
263
264 define KernelPackage/sit/description
265 Kernel modules for IPv6-in-IPv4 tunnelling
266 endef
267
268 $(eval $(call KernelPackage,sit))
269
270
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) \
278 )
279 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
280 endef
281
282 define KernelPackage/ip6-tunnel/description
283 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
284 endef
285
286 $(eval $(call KernelPackage,ip6-tunnel))
287
288
289 define KernelPackage/gre
290 SUBMENU:=$(NETWORK_SUPPORT_MENU)
291 TITLE:=GRE support
292 KCONFIG:=CONFIG_NET_IPGRE
293 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
294 endef
295
296 define KernelPackage/gre/description
297 Generic Routing Encapsulation support
298 endef
299
300 $(eval $(call KernelPackage,gre))
301
302
303 define KernelPackage/tun
304 SUBMENU:=$(NETWORK_SUPPORT_MENU)
305 TITLE:=Universal TUN/TAP driver
306 KCONFIG:=CONFIG_TUN
307 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
308 AUTOLOAD:=$(call AutoLoad,30,tun)
309 endef
310
311 define KernelPackage/tun/description
312 Kernel support for the TUN/TAP tunneling device
313 endef
314
315 $(eval $(call KernelPackage,tun))
316
317
318 define KernelPackage/ppp
319 SUBMENU:=$(NETWORK_SUPPORT_MENU)
320 TITLE:=PPP modules
321 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
322 KCONFIG:= \
323 CONFIG_PPP \
324 CONFIG_PPP_ASYNC \
325 CONFIG_SLHC
326 FILES:= \
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)
331 endef
332
333 define KernelPackage/ppp/description
334 Kernel modules for PPP support
335 endef
336
337 $(eval $(call KernelPackage,ppp))
338
339
340 define KernelPackage/ppp-synctty
341 SUBMENU:=$(NETWORK_SUPPORT_MENU)
342 TITLE:=PPP sync tty support
343 DEPENDS:=kmod-ppp
344 KCONFIG:=CONFIG_PPP_SYNC_TTY
345 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
346 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
347 endef
348
349 define KernelPackage/ppp-synctty/description
350 Kernel modules for PPP sync tty support
351 endef
352
353 $(eval $(call KernelPackage,ppp-synctty))
354
355
356 define KernelPackage/pppoe
357 SUBMENU:=$(NETWORK_SUPPORT_MENU)
358 TITLE:=PPPoE support
359 DEPENDS:=kmod-ppp
360 KCONFIG:=CONFIG_PPPOE
361 FILES:= \
362 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
363 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
364 endef
365
366 define KernelPackage/pppoe/description
367 Kernel modules for PPPoE (PPP over Ethernet) support
368 endef
369
370 $(eval $(call KernelPackage,pppoe))
371
372
373 define KernelPackage/pppoa
374 SUBMENU:=$(NETWORK_SUPPORT_MENU)
375 TITLE:=PPPoA support
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)
380 endef
381
382 define KernelPackage/pppoa/description
383 Kernel modules for PPPoA (PPP over ATM) support
384 endef
385
386 $(eval $(call KernelPackage,pppoa))
387
388
389 define KernelPackage/ipoa
390 SUBMENU:=$(NETWORK_SUPPORT_MENU)
391 TITLE:=IPoA support
392 DEPENDS:=kmod-atm
393 KCONFIG:=CONFIG_ATM_CLIP
394 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
395 AUTOLOAD:=$(call AutoLoad,40,clip)
396 endef
397
398 define KernelPackage/ipoa/description
399 Kernel modules for IPoA (IP over ATM) support
400 endef
401
402 $(eval $(call KernelPackage,ipoa))
403
404
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
409 KCONFIG:= \
410 CONFIG_PPP_MPPE_MPPC \
411 CONFIG_PPP_MPPE
412 endef
413
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)
418 endef
419
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)
424 endef
425
426 define KernelPackage/mppe/description
427 Kernel modules for Microsoft PPP compression/encryption
428 endef
429
430 $(eval $(call KernelPackage,mppe))
431
432
433 define KernelPackage/sched
434 SUBMENU:=$(NETWORK_SUPPORT_MENU)
435 TITLE:=Traffic schedulers
436 KCONFIG:= \
437 CONFIG_NET_SCHED=y \
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 \
443 CONFIG_NET_SCH_HTB \
444 CONFIG_NET_SCH_INGRESS \
445 CONFIG_NET_SCH_PRIO \
446 CONFIG_NET_SCH_RED \
447 CONFIG_NET_SCH_SFQ \
448 CONFIG_NET_SCH_TBF \
449 CONFIG_NET_SCH_TEQL
450 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
451 endef
452
453 define KernelPackage/sched/description
454 Kernel schedulers for IP traffic
455 endef
456
457 $(eval $(call KernelPackage,sched))
458
459
460 define KernelPackage/ax25
461 SUBMENU:=$(NETWORK_SUPPORT_MENU)
462 TITLE:=AX25 support
463 KCONFIG:= \
464 CONFIG_AX25 \
465 CONFIG_MKISS
466 FILES:= \
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)
470 endef
471
472 define KernelPackage/ax25/description
473 Kernel modules for AX25 support
474 endef
475
476 $(eval $(call KernelPackage,ax25))
477
478
479 define KernelPackage/mp-alg
480 SUBMENU:=$(NETWORK_SUPPORT_MENU)
481 TITLE:=ECMP caching algorithms
482 DEPENDS:=@LINUX_2_6
483 KCONFIG:= \
484 CONFIG_IP_ROUTE_MULTIPATH_RR \
485 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
486 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
487 CONFIG_IP_ROUTE_MULTIPATH_DRR
488 FILES:= \
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)
494 endef
495
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.
502 endef
503
504 $(eval $(call KernelPackage,mp-alg))
505
506
507 define KernelPackage/pktgen
508 SUBMENU:=$(NETWORK_SUPPORT_MENU)
509 TITLE:=Network packet generator
510 DEPENDS:=@LINUX_2_6
511 KCONFIG:=CONFIG_NET_PKTGEN
512 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
513 AUTOLOAD:=$(call AutoLoad,99,pktgen)
514 endef
515
516 define KernelPackage/pktgen/description
517 Kernel modules for the Network Packet Generator
518 endef
519
520 $(eval $(call KernelPackage,pktgen))
521