70e239c412646f7a6eb2f5f8cf829571bbdeaacf
[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 capifs)
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 define KernelPackage/misdn
84 SUBMENU:=$(NETWORK_SUPPORT_MENU)
85 TITLE:=mISDN (ISDN) Support
86 KCONFIG:= \
87 CONFIG_ISDN=y \
88 CONFIG_MISDN \
89 CONFIG_MISDN_DSP \
90 CONFIG_MISDN_L1OIP \
91 CONFIG_ISDN_PPP=N \
92 CONFIG_ISDN_AUDIO=n \
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 \
103 CONFIG_HYSDN=n
104 FILES:= \
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)
109 endef
110
111 define KernelPackage/misdn/description
112 Modular ISDN driver support
113 endef
114
115 $(eval $(call KernelPackage,misdn))
116
117
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,30,ipip)
125 endef
126
127 define KernelPackage/ipip/description
128 Kernel modules for IP-in-IP encapsulation
129 endef
130
131 $(eval $(call KernelPackage,ipip))
132
133
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
138 KCONFIG:= \
139 CONFIG_NET_KEY \
140 CONFIG_XFRM_USER
141 FILES:= \
142 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
143 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
144 endef
145
146 define KernelPackage/ipsec/description
147 Kernel modules for IPsec support in both IPv4 and IPv6.
148 Includes:
149 - af_key
150 - xfrm_user
151 endef
152
153 $(eval $(call KernelPackage,ipsec))
154
155
156 define KernelPackage/ipsec4
157 SUBMENU:=$(NETWORK_SUPPORT_MENU)
158 TITLE:=IPsec related modules (IPv4)
159 DEPENDS:=kmod-ipsec +kmod-iptunnel4
160 KCONFIG:= \
161 CONFIG_INET_AH \
162 CONFIG_INET_ESP \
163 CONFIG_INET_IPCOMP \
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) \
170 )
171 endef
172
173 define KernelPackage/ipsec4/description
174 Kernel modules for IPsec support in IPv4.
175 Includes:
176 - ah4
177 - esp4
178 - ipcomp
179 - xfrm4_mode_beet
180 - xfrm4_mode_transport
181 - xfrm4_mode_tunnel
182 - xfrm4_tunnel
183 endef
184
185 $(eval $(call KernelPackage,ipsec4))
186
187
188 define KernelPackage/ipsec6
189 SUBMENU:=$(NETWORK_SUPPORT_MENU)
190 TITLE:=IPsec related modules (IPv6)
191 DEPENDS:=kmod-ipsec +kmod-iptunnel6
192 KCONFIG:= \
193 CONFIG_INET6_AH \
194 CONFIG_INET6_ESP \
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) \
202 )
203 endef
204
205 define KernelPackage/ipsec6/description
206 Kernel modules for IPsec support in IPv6.
207 Includes:
208 - ah6
209 - esp6
210 - ipcomp6
211 - xfrm6_mode_beet
212 - xfrm6_mode_transport
213 - xfrm6_mode_tunnel
214 - xfrm6_tunnel
215 endef
216
217 $(eval $(call KernelPackage,ipsec6))
218
219
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
224 DEPENDS:= @LINUX_2_6
225 KCONFIG:= \
226 CONFIG_NET_IPIP \
227 CONFIG_INET_TUNNEL
228 FILES:= $(foreach mod,tunnel4, \
229 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
230 )
231 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
232 endef
233
234 define KernelPackage/iptunnel4/description
235 Kernel modules for IPv4 tunneling
236 endef
237
238 $(eval $(call KernelPackage,iptunnel4))
239
240
241 define KernelPackage/iptunnel6
242 SUBMENU:=$(NETWORK_SUPPORT_MENU)
243 TITLE:=IPv6 tunneling
244 DEPENDS:= @LINUX_2_6 +kmod-ipv6
245 KCONFIG:= \
246 CONFIG_INET6_TUNNEL
247 FILES:= $(foreach mod,tunnel6, \
248 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
249 )
250 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
251 endef
252
253 define KernelPackage/iptunnel6/description
254 Kernel modules for IPv6 tunneling
255 endef
256
257 $(eval $(call KernelPackage,iptunnel6))
258
259
260 define KernelPackage/ipv6
261 SUBMENU:=$(NETWORK_SUPPORT_MENU)
262 TITLE:=IPv6 support
263 KCONFIG:= \
264 CONFIG_IPV6 \
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)
270 endef
271
272 define KernelPackage/ipv6/description
273 Kernel modules for IPv6 support
274 endef
275
276 $(eval $(call KernelPackage,ipv6))
277
278
279 define KernelPackage/sit
280 SUBMENU:=$(NETWORK_SUPPORT_MENU)
281 DEPENDS:=+kmod-iptunnel4
282 TITLE:=IPv6-in-IPv4 tunnelling
283 endef
284
285 # sit is compiled in the 2.4 ipv6 stack
286 define KernelPackage/sit/2.4
287 DEPENDS:= @LINUX_2_4 +kmod-ipv6
288 KCONFIG:=CONFIG_IPV6
289 endef
290
291 define KernelPackage/sit/2.6
292 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel4
293 KCONFIG+=CONFIG_IPV6_SIT
294 FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
295 AUTOLOAD:=$(call AutoLoad,32,sit)
296 endef
297
298 define KernelPackage/sit/description
299 Kernel modules for IPv6-in-IPv4 tunnelling
300 endef
301
302 $(eval $(call KernelPackage,sit))
303
304
305 define KernelPackage/ip6-tunnel
306 SUBMENU:=$(NETWORK_SUPPORT_MENU)
307 TITLE:=IP-in-IPv6 tunnelling
308 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
309 KCONFIG:= CONFIG_IPV6_TUNNEL
310 FILES:= $(foreach mod,ip6_tunnel, \
311 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
312 )
313 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
314 endef
315
316 define KernelPackage/ip6-tunnel/description
317 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
318 endef
319
320 $(eval $(call KernelPackage,ip6-tunnel))
321
322
323 define KernelPackage/gre
324 SUBMENU:=$(NETWORK_SUPPORT_MENU)
325 TITLE:=GRE support
326 KCONFIG:=CONFIG_NET_IPGRE
327 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
328 endef
329
330 define KernelPackage/gre/description
331 Generic Routing Encapsulation support
332 endef
333
334 $(eval $(call KernelPackage,gre))
335
336
337 define KernelPackage/tun
338 SUBMENU:=$(NETWORK_SUPPORT_MENU)
339 TITLE:=Universal TUN/TAP driver
340 KCONFIG:=CONFIG_TUN
341 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
342 AUTOLOAD:=$(call AutoLoad,30,tun)
343 endef
344
345 define KernelPackage/tun/description
346 Kernel support for the TUN/TAP tunneling device
347 endef
348
349 $(eval $(call KernelPackage,tun))
350
351
352 define KernelPackage/ppp
353 SUBMENU:=$(NETWORK_SUPPORT_MENU)
354 TITLE:=PPP modules
355 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
356 KCONFIG:= \
357 CONFIG_PPP \
358 CONFIG_PPP_ASYNC \
359 CONFIG_SLHC
360 FILES:= \
361 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
362 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
363 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
364 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
365 endef
366
367 define KernelPackage/ppp/description
368 Kernel modules for PPP support
369 endef
370
371 $(eval $(call KernelPackage,ppp))
372
373
374 define KernelPackage/ppp-synctty
375 SUBMENU:=$(NETWORK_SUPPORT_MENU)
376 TITLE:=PPP sync tty support
377 DEPENDS:=kmod-ppp
378 KCONFIG:=CONFIG_PPP_SYNC_TTY
379 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
380 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
381 endef
382
383 define KernelPackage/ppp-synctty/description
384 Kernel modules for PPP sync tty support
385 endef
386
387 $(eval $(call KernelPackage,ppp-synctty))
388
389
390 define KernelPackage/pppoe
391 SUBMENU:=$(NETWORK_SUPPORT_MENU)
392 TITLE:=PPPoE support
393 DEPENDS:=kmod-ppp
394 KCONFIG:=CONFIG_PPPOE
395 FILES:= \
396 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
397 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
398 endef
399
400 define KernelPackage/pppoe/description
401 Kernel modules for PPPoE (PPP over Ethernet) support
402 endef
403
404 $(eval $(call KernelPackage,pppoe))
405
406
407 define KernelPackage/pppoa
408 SUBMENU:=$(NETWORK_SUPPORT_MENU)
409 TITLE:=PPPoA support
410 DEPENDS:=kmod-ppp +kmod-atm
411 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
412 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
413 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
414 endef
415
416 define KernelPackage/pppoa/description
417 Kernel modules for PPPoA (PPP over ATM) support
418 endef
419
420 $(eval $(call KernelPackage,pppoa))
421
422
423 define KernelPackage/ipoa
424 SUBMENU:=$(NETWORK_SUPPORT_MENU)
425 TITLE:=IPoA support
426 DEPENDS:=kmod-atm
427 KCONFIG:=CONFIG_ATM_CLIP
428 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
429 AUTOLOAD:=$(call AutoLoad,40,clip)
430 endef
431
432 define KernelPackage/ipoa/description
433 Kernel modules for IPoA (IP over ATM) support
434 endef
435
436 $(eval $(call KernelPackage,ipoa))
437
438
439 define KernelPackage/mppe
440 SUBMENU:=$(NETWORK_SUPPORT_MENU)
441 TITLE:=Microsoft PPP compression/encryption
442 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
443 KCONFIG:= \
444 CONFIG_PPP_MPPE_MPPC \
445 CONFIG_PPP_MPPE
446 endef
447
448 define KernelPackage/mppe/2.4
449 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
450 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
451 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
452 endef
453
454 define KernelPackage/mppe/2.6
455 # KCONFIG:=CONFIG_PPP_MPPE
456 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
457 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
458 endef
459
460 define KernelPackage/mppe/description
461 Kernel modules for Microsoft PPP compression/encryption
462 endef
463
464 $(eval $(call KernelPackage,mppe))
465
466
467 define KernelPackage/sched
468 SUBMENU:=$(NETWORK_SUPPORT_MENU)
469 TITLE:=Traffic schedulers
470 KCONFIG:= \
471 CONFIG_NET_SCHED=y \
472 CONFIG_NET_SCH_DSMARK \
473 CONFIG_NET_SCH_ESFQ \
474 CONFIG_NET_SCH_FIFO \
475 CONFIG_NET_SCH_GRED \
476 CONFIG_NET_SCH_HFSC \
477 CONFIG_NET_SCH_HTB \
478 CONFIG_NET_SCH_INGRESS \
479 CONFIG_NET_SCH_PRIO \
480 CONFIG_NET_SCH_RED \
481 CONFIG_NET_SCH_SFQ \
482 CONFIG_NET_SCH_TBF \
483 CONFIG_NET_SCH_TEQL
484 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
485 endef
486
487 define KernelPackage/sched/description
488 Kernel schedulers for IP traffic
489 endef
490
491 $(eval $(call KernelPackage,sched))
492
493
494 define KernelPackage/ax25
495 SUBMENU:=$(NETWORK_SUPPORT_MENU)
496 TITLE:=AX25 support
497 KCONFIG:= \
498 CONFIG_AX25 \
499 CONFIG_MKISS
500 FILES:= \
501 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
502 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
503 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
504 endef
505
506 define KernelPackage/ax25/description
507 Kernel modules for AX25 support
508 endef
509
510 $(eval $(call KernelPackage,ax25))
511
512
513 define KernelPackage/mp-alg
514 SUBMENU:=$(NETWORK_SUPPORT_MENU)
515 TITLE:=ECMP caching algorithms
516 DEPENDS:=@LINUX_2_6
517 KCONFIG:= \
518 CONFIG_IP_ROUTE_MULTIPATH_RR \
519 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
520 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
521 CONFIG_IP_ROUTE_MULTIPATH_DRR
522 FILES:= \
523 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
524 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
525 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
526 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
527 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
528 endef
529
530 define KernelPackage/mp-alg/description
531 Kernel modules that provide several different algorithms for multipath
532 route selection from the route cache. The iproute "mpath" argument allows
533 specifying which algorithm to use for routes.
534 quagga (at least <=0.99.6) requires a multipath patch to support this
535 cached mp route feature.
536 endef
537
538 $(eval $(call KernelPackage,mp-alg))
539
540
541 define KernelPackage/pktgen
542 SUBMENU:=$(NETWORK_SUPPORT_MENU)
543 TITLE:=Network packet generator
544 DEPENDS:=@LINUX_2_6
545 KCONFIG:=CONFIG_NET_PKTGEN
546 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
547 AUTOLOAD:=$(call AutoLoad,99,pktgen)
548 endef
549
550 define KernelPackage/pktgen/description
551 Kernel modules for the Network Packet Generator
552 endef
553
554 $(eval $(call KernelPackage,pktgen))
555