add missing kconfig symbols for kmod-sched
[openwrt.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:=+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)
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 # 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)
287 endef
288
289 define KernelPackage/sit/description
290  Kernel modules for IPv6-in-IPv4 tunnelling
291 endef
292
293 $(eval $(call KernelPackage,sit))
294
295
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) \
303   )
304   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
305 endef
306
307 define KernelPackage/ip6-tunnel/description
308  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
309 endef
310
311 $(eval $(call KernelPackage,ip6-tunnel))
312
313
314 define KernelPackage/gre
315   SUBMENU:=$(NETWORK_SUPPORT_MENU)
316   TITLE:=GRE support
317   KCONFIG:=CONFIG_NET_IPGRE
318   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
319 endef
320
321 define KernelPackage/gre/description
322  Generic Routing Encapsulation support
323 endef
324
325 $(eval $(call KernelPackage,gre))
326
327
328 define KernelPackage/tun
329   SUBMENU:=$(NETWORK_SUPPORT_MENU)
330   TITLE:=Universal TUN/TAP driver
331   KCONFIG:=CONFIG_TUN
332   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
333   AUTOLOAD:=$(call AutoLoad,30,tun)
334 endef
335
336 define KernelPackage/tun/description
337  Kernel support for the TUN/TAP tunneling device
338 endef
339
340 $(eval $(call KernelPackage,tun))
341
342
343 define KernelPackage/ppp
344   SUBMENU:=$(NETWORK_SUPPORT_MENU)
345   TITLE:=PPP modules
346   DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
347   KCONFIG:= \
348         CONFIG_PPP \
349         CONFIG_PPP_ASYNC \
350         CONFIG_SLHC
351   FILES:= \
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)
356 endef
357
358 define KernelPackage/ppp/description
359  Kernel modules for PPP support
360 endef
361
362 $(eval $(call KernelPackage,ppp))
363
364
365 define KernelPackage/ppp-synctty
366   SUBMENU:=$(NETWORK_SUPPORT_MENU)
367   TITLE:=PPP sync tty support
368   DEPENDS:=kmod-ppp
369   KCONFIG:=CONFIG_PPP_SYNC_TTY
370   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
371   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
372 endef
373
374 define KernelPackage/ppp-synctty/description
375  Kernel modules for PPP sync tty support
376 endef
377
378 $(eval $(call KernelPackage,ppp-synctty))
379
380
381 define KernelPackage/pppoe
382   SUBMENU:=$(NETWORK_SUPPORT_MENU)
383   TITLE:=PPPoE support
384   DEPENDS:=kmod-ppp
385   KCONFIG:=CONFIG_PPPOE
386   FILES:= \
387         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
388         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
389 endef
390
391 define KernelPackage/pppoe/description
392  Kernel modules for PPPoE (PPP over Ethernet) support
393 endef
394
395 $(eval $(call KernelPackage,pppoe))
396
397
398 define KernelPackage/pppoa
399   SUBMENU:=$(NETWORK_SUPPORT_MENU)
400   TITLE:=PPPoA support
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)
405 endef
406
407 define KernelPackage/pppoa/description
408  Kernel modules for PPPoA (PPP over ATM) support
409 endef
410
411 $(eval $(call KernelPackage,pppoa))
412
413
414 define KernelPackage/ipoa
415   SUBMENU:=$(NETWORK_SUPPORT_MENU)
416   TITLE:=IPoA support
417   DEPENDS:=kmod-atm
418   KCONFIG:=CONFIG_ATM_CLIP
419   FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
420   AUTOLOAD:=$(call AutoLoad,40,clip)
421 endef
422
423 define KernelPackage/ipoa/description
424   Kernel modules for IPoA (IP over ATM) support
425 endef
426
427 $(eval $(call KernelPackage,ipoa))
428
429
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
434   KCONFIG:= \
435         CONFIG_PPP_MPPE_MPPC \
436         CONFIG_PPP_MPPE
437 endef
438
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)
443 endef
444
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)
449 endef
450
451 define KernelPackage/mppe/description
452  Kernel modules for Microsoft PPP compression/encryption
453 endef
454
455 $(eval $(call KernelPackage,mppe))
456
457
458 define KernelPackage/sched
459   SUBMENU:=$(NETWORK_SUPPORT_MENU)
460   TITLE:=Traffic schedulers
461   KCONFIG:= \
462         CONFIG_NET_SCHED=y \
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 \
468         CONFIG_NET_SCH_HTB \
469         CONFIG_NET_SCH_INGRESS \
470         CONFIG_NET_SCH_PRIO \
471         CONFIG_NET_SCH_RED \
472         CONFIG_NET_SCH_SFQ \
473         CONFIG_NET_SCH_TBF \
474         CONFIG_NET_SCH_TEQL \
475         CONFIG_NET_CLS=y \
476         CONFIG_NET_CLS_ACT \
477         CONFIG_NET_CLS_BASIC \
478         CONFIG_NET_CLS_FLOW \
479         CONFIG_NET_CLS_FW \
480         CONFIG_NET_CLS_ROUTE4 \
481         CONFIG_NET_CLS_TCINDEX \
482         CONFIG_NET_CLS_U32 \
483         CONFIG_NET_ACT_MIRRED \
484         CONFIG_NET_ACT_IPT
485   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
486 endef
487
488 define KernelPackage/sched/description
489  Kernel schedulers for IP traffic
490 endef
491
492 $(eval $(call KernelPackage,sched))
493
494
495 define KernelPackage/ax25
496   SUBMENU:=$(NETWORK_SUPPORT_MENU)
497   TITLE:=AX25 support
498   KCONFIG:= \
499         CONFIG_AX25 \
500         CONFIG_MKISS
501   FILES:= \
502         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
503         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
504   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
505 endef
506
507 define KernelPackage/ax25/description
508  Kernel modules for AX25 support
509 endef
510
511 $(eval $(call KernelPackage,ax25))
512
513
514 define KernelPackage/mp-alg
515   SUBMENU:=$(NETWORK_SUPPORT_MENU)
516   TITLE:=ECMP caching algorithms
517   DEPENDS:=@LINUX_2_6
518   KCONFIG:= \
519         CONFIG_IP_ROUTE_MULTIPATH_RR \
520         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
521         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
522         CONFIG_IP_ROUTE_MULTIPATH_DRR
523   FILES:= \
524         $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
525         $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
526         $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
527         $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
528   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
529 endef
530
531 define KernelPackage/mp-alg/description
532  Kernel modules that provide several different algorithms for multipath
533  route selection from the route cache. The iproute "mpath" argument allows
534  specifying which algorithm to use for routes.
535  quagga (at least <=0.99.6) requires a multipath patch to support this
536  cached mp route feature.
537 endef
538
539 $(eval $(call KernelPackage,mp-alg))
540
541
542 define KernelPackage/pktgen
543   SUBMENU:=$(NETWORK_SUPPORT_MENU)
544   TITLE:=Network packet generator
545   DEPENDS:=@LINUX_2_6
546   KCONFIG:=CONFIG_NET_PKTGEN
547   FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
548   AUTOLOAD:=$(call AutoLoad,99,pktgen)
549 endef
550
551 define KernelPackage/pktgen/description
552   Kernel modules for the Network Packet Generator
553 endef
554
555 $(eval $(call KernelPackage,pktgen))
556