16a8378ada452f368d5bd9ec9dc365871e4d95e2
[10.03/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
8 NETWORK_SUPPORT_MENU:=Network Support
9
10 define KernelPackage/atm
11   SUBMENU:=$(NETWORK_SUPPORT_MENU)
12   TITLE:=ATM support
13   DEPENDS:=@LINUX_2_6
14   KCONFIG:= \
15         CONFIG_ATM \
16         CONFIG_ATM_BR2684
17   FILES:= \
18         $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
19         $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
20   AUTOLOAD:=$(call AutoLoad,30,atm br2684)
21 endef
22
23 define KernelPackage/atm/description
24  Kernel modules for ATM support
25 endef
26
27 $(eval $(call KernelPackage,atm))
28
29
30 define KernelPackage/atmtcp
31   SUBMENU:=$(NETWORK_SUPPORT_MENU)
32   TITLE:=ATM over TCP
33   DEPENDS:=@LINUX_2_6 kmod-atm
34   KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
35   FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
36   AUTOLOAD:=$(call AutoLoad,40,atmtcp)
37 endef
38
39 define KernelPackage/atmtcp/description
40  Kernel module for ATM over TCP support
41 endef
42
43 $(eval $(call KernelPackage,atmtcp))
44
45
46 define KernelPackage/appletalk
47   SUBMENU:=$(NETWORK_SUPPORT_MENU)
48   TITLE:=Appletalk protocol support
49   DEPENDS:=@LINUX_2_6
50   KCONFIG:= \
51         CONFIG_ATALK \
52         CONFIG_DEV_APPLETALK \
53         CONFIG_IPDDP \
54         CONFIG_IPDDP_ENCAP=y \
55         CONFIG_IPDDP_DECAP=y
56   FILES:= \
57         $(LINUX_DIR)/net/appletalk/appletalk.$(LINUX_KMOD_SUFFIX) \
58         $(LINUX_DIR)/drivers/net/appletalk/ipddp.$(LINUX_KMOD_SUFFIX)
59   AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
60 endef
61
62 define KernelPackage/appletalk/description
63  Kernel module for AppleTalk protocol.
64 endef
65
66 $(eval $(call KernelPackage,appletalk))
67
68
69 define KernelPackage/bonding
70   SUBMENU:=$(NETWORK_SUPPORT_MENU)
71   TITLE:=Ethernet bonding driver
72   KCONFIG:=CONFIG_BONDING
73   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
74   AUTOLOAD:=$(call AutoLoad,40,bonding)
75 endef
76
77 define KernelPackage/bonding/description
78  Kernel module for NIC bonding.
79 endef
80
81 $(eval $(call KernelPackage,bonding))
82
83
84 define KernelPackage/capi
85   SUBMENU:=$(NETWORK_SUPPORT_MENU)
86   TITLE:=CAPI (ISDN) Support
87   DEPENDS:=@LINUX_2_6
88   KCONFIG:= \
89         CONFIG_ISDN_CAPI \
90         CONFIG_ISDN_CAPI_CAPI20 \
91         CONFIG_ISDN_CAPIFS
92   FILES:= \
93         $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
94         $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
95         $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
96   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
97 endef
98
99 define KernelPackage/capi/description
100  Kernel module for basic CAPI (ISDN) support
101 endef
102
103 $(eval $(call KernelPackage,capi))
104
105 define KernelPackage/misdn
106   SUBMENU:=$(NETWORK_SUPPORT_MENU)
107   TITLE:=mISDN (ISDN) Support
108   KCONFIG:= \
109         CONFIG_MISDN \
110         CONFIG_MISDN_DSP \
111         CONFIG_MISDN_L1OIP \
112         CONFIG_ISDN_AUDIO=n \
113         CONFIG_ISDN_WITH_ABC=n \
114         CONFIG_ISDN_DRV_LOOP=n \
115         CONFIG_ISDN_DIVERSION=n \
116         CONFIG_ISDN_DRV_HISAX=n \
117         CONFIG_ISDN_DRV_ICN=n \
118         CONFIG_ISDN_DRV_PCBIT=n \
119         CONFIG_ISDN_DRV_SC=n \
120         CONFIG_ISDN_DRV_ACT2000=n \
121         CONFIG_ISDN_DRV_EICON=n \
122         CONFIG_ISDN_DRV_TPAM=n \
123         CONFIG_HYSDN=n
124   FILES:= \
125         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.$(LINUX_KMOD_SUFFIX) \
126         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.$(LINUX_KMOD_SUFFIX) \
127         $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.$(LINUX_KMOD_SUFFIX)
128   AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
129 endef
130
131 define KernelPackage/misdn/2.4
132   KCONFIG+= \
133         CONFIG_ISDN
134 endef
135
136 define KernelPackage/misdn/2.6
137    KCONFIG+= \
138         CONFIG_ISDN=y
139 endef
140
141 define KernelPackage/misdn/description
142   Modular ISDN driver support
143 endef
144
145 $(eval $(call KernelPackage,misdn))
146
147
148 define KernelPackage/isdn4linux
149   SUBMENU:=$(NETWORK_SUPPORT_MENU)
150   TITLE:=Old ISDN4Linux (deprecated)
151   KCONFIG:= \
152     CONFIG_ISDN_I4L \
153     CONFIG_ISDN_PPP=y \
154     CONFIG_ISDN_PPP_VJ=y \
155     CONFIG_ISDN_MPP=y \
156     CONFIG_IPPP_FILTER=y \
157     CONFIG_ISDN_PPP_BSDCOMP \
158     CONFIG_ISDN_AUDIO=y \
159     CONFIG_ISDN_TTY_FAX=y \
160     CONFIG_ISDN_X25=y \
161     CONFIG_ISDN_DIVERSION \
162     CONFIG_ISDN_CAPI_CAPIDRV=n \
163     CONFIG_ISDN_DRV_ACT2000=n \
164     CONFIG_ISDN_DRV_GIGASET=n \
165     CONFIG_ISDN_DRV_HISAX=n \
166     CONFIG_ISDN_DRV_ICN=n \
167     CONFIG_ISDN_DRV_LOOP=n \
168     CONFIG_ISDN_DRV_PCBIT=n \
169     CONFIG_ISDN_DRV_SC=n \
170     CONFIG_HYSDN=n
171   FILES:= \
172     $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.$(LINUX_KMOD_SUFFIX)
173   AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
174 endef
175
176 define KernelPackage/isdn4linux/2.4
177   KCONFIG+= \
178         CONFIG_ISDN
179   FILES+= \
180         $(LINUX_DIR)/drivers/isdn/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
181 endef
182
183 define KernelPackage/isdn4linux/2.6
184   KCONFIG+= \
185         CONFIG_ISDN=y
186   FILES+= \
187         $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
188         $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
189 endef
190
191 define KernelPackage/isdn4linux/description
192   This driver allows you to use an ISDN adapter for networking
193 endef
194
195 $(eval $(call KernelPackage,isdn4linux))
196
197
198 define KernelPackage/ipip
199   SUBMENU:=$(NETWORK_SUPPORT_MENU)
200   TITLE:=IP-in-IP encapsulation
201   DEPENDS:=+LINUX_2_6:kmod-iptunnel4
202   KCONFIG:=CONFIG_NET_IPIP
203   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
204   AUTOLOAD:=$(call AutoLoad,32,ipip)
205 endef
206
207 define KernelPackage/ipip/description
208  Kernel modules for IP-in-IP encapsulation
209 endef
210
211 $(eval $(call KernelPackage,ipip))
212
213
214 define KernelPackage/ipsec
215   SUBMENU:=$(NETWORK_SUPPORT_MENU)
216   TITLE:=IPsec related modules (IPv4 and IPv6)
217   DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
218   KCONFIG:= \
219         CONFIG_NET_KEY \
220         CONFIG_XFRM_USER
221   FILES:= \
222         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
223         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
224 endef
225
226 define KernelPackage/ipsec/description
227  Kernel modules for IPsec support in both IPv4 and IPv6.
228  Includes:
229  - af_key
230  - xfrm_user
231 endef
232
233 $(eval $(call KernelPackage,ipsec))
234
235
236 define KernelPackage/ipsec4
237   SUBMENU:=$(NETWORK_SUPPORT_MENU)
238   TITLE:=IPsec related modules (IPv4)
239   DEPENDS:=kmod-ipsec +kmod-iptunnel4
240   KCONFIG:= \
241         CONFIG_INET_AH \
242         CONFIG_INET_ESP \
243         CONFIG_INET_IPCOMP \
244         CONFIG_INET_XFRM_MODE_BEET \
245         CONFIG_INET_XFRM_MODE_TRANSPORT \
246         CONFIG_INET_XFRM_MODE_TUNNEL \
247         CONFIG_INET_XFRM_TUNNEL
248   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
249         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
250   )
251 endef
252
253 define KernelPackage/ipsec4/description
254  Kernel modules for IPsec support in IPv4.
255  Includes:
256  - ah4
257  - esp4
258  - ipcomp
259  - xfrm4_mode_beet
260  - xfrm4_mode_transport
261  - xfrm4_mode_tunnel
262  - xfrm4_tunnel
263 endef
264
265 $(eval $(call KernelPackage,ipsec4))
266
267
268 define KernelPackage/ipsec6
269   SUBMENU:=$(NETWORK_SUPPORT_MENU)
270   TITLE:=IPsec related modules (IPv6)
271   DEPENDS:=kmod-ipsec +kmod-iptunnel6
272   KCONFIG:= \
273         CONFIG_INET6_AH \
274         CONFIG_INET6_ESP \
275         CONFIG_INET6_IPCOMP \
276         CONFIG_INET6_XFRM_MODE_BEET \
277         CONFIG_INET6_XFRM_MODE_TRANSPORT \
278         CONFIG_INET6_XFRM_MODE_TUNNEL \
279         CONFIG_INET6_XFRM_TUNNEL
280   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
281         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
282   )
283 endef
284
285 define KernelPackage/ipsec6/description
286  Kernel modules for IPsec support in IPv6.
287  Includes:
288  - ah6
289  - esp6
290  - ipcomp6
291  - xfrm6_mode_beet
292  - xfrm6_mode_transport
293  - xfrm6_mode_tunnel
294  - xfrm6_tunnel
295 endef
296
297 $(eval $(call KernelPackage,ipsec6))
298
299
300 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
301 define KernelPackage/iptunnel4
302   SUBMENU:=$(NETWORK_SUPPORT_MENU)
303   TITLE:=IPv4 tunneling
304   DEPENDS:=@LINUX_2_6
305   KCONFIG:= \
306         CONFIG_NET_IPIP \
307         CONFIG_INET_TUNNEL
308   FILES:= $(foreach mod,tunnel4, \
309         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
310   )
311   AUTOLOAD:=$(call AutoLoad,31,tunnel4)
312 endef
313
314 define KernelPackage/iptunnel4/description
315  Kernel modules for IPv4 tunneling
316 endef
317
318 $(eval $(call KernelPackage,iptunnel4))
319
320
321 define KernelPackage/iptunnel6
322   SUBMENU:=$(NETWORK_SUPPORT_MENU)
323   TITLE:=IPv6 tunneling
324   DEPENDS:= @LINUX_2_6 +kmod-ipv6
325   KCONFIG:= \
326         CONFIG_INET6_TUNNEL
327   FILES:= $(foreach mod,tunnel6, \
328         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
329   )
330   AUTOLOAD:=$(call AutoLoad,31,tunnel6)
331 endef
332
333 define KernelPackage/iptunnel6/description
334  Kernel modules for IPv6 tunneling
335 endef
336
337 $(eval $(call KernelPackage,iptunnel6))
338
339
340 define KernelPackage/ipv6
341   SUBMENU:=$(NETWORK_SUPPORT_MENU)
342   TITLE:=IPv6 support
343   KCONFIG:= \
344         CONFIG_IPV6 \
345         CONFIG_IPV6_PRIVACY=y \
346         CONFIG_IPV6_MULTIPLE_TABLES=y \
347         CONFIG_IPV6_MROUTE=y \
348         CONFIG_IPV6_PIMSM_V2=n \
349         CONFIG_IPV6_SUBTREES=y
350   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
351   AUTOLOAD:=$(call AutoLoad,20,ipv6)
352 endef
353
354 define KernelPackage/ipv6/description
355  Kernel modules for IPv6 support
356 endef
357
358 $(eval $(call KernelPackage,ipv6))
359
360
361 # sit is not selectable on 2.4, but built when ipv6 is enabled
362 define KernelPackage/sit
363   SUBMENU:=$(NETWORK_SUPPORT_MENU)
364   DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
365   TITLE:=IPv6-in-IPv4 tunnelling
366   KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
367   FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
368   AUTOLOAD:=$(call AutoLoad,32,sit)
369 endef
370
371 define KernelPackage/sit/description
372  Kernel modules for IPv6-in-IPv4 tunnelling
373 endef
374
375 $(eval $(call KernelPackage,sit))
376
377
378 define KernelPackage/ip6-tunnel
379   SUBMENU:=$(NETWORK_SUPPORT_MENU)
380   TITLE:=IP-in-IPv6 tunnelling
381   DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
382   KCONFIG:= CONFIG_IPV6_TUNNEL
383   FILES:= $(foreach mod,ip6_tunnel, \
384         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
385   )
386   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
387 endef
388
389 define KernelPackage/ip6-tunnel/description
390  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
391 endef
392
393 $(eval $(call KernelPackage,ip6-tunnel))
394
395
396 define KernelPackage/gre
397   SUBMENU:=$(NETWORK_SUPPORT_MENU)
398   TITLE:=GRE support
399   KCONFIG:=CONFIG_NET_IPGRE
400   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
401 endef
402
403 define KernelPackage/gre/description
404  Generic Routing Encapsulation support
405 endef
406
407 $(eval $(call KernelPackage,gre))
408
409
410 define KernelPackage/tun
411   SUBMENU:=$(NETWORK_SUPPORT_MENU)
412   TITLE:=Universal TUN/TAP driver
413   KCONFIG:=CONFIG_TUN
414   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
415   AUTOLOAD:=$(call AutoLoad,30,tun)
416 endef
417
418 define KernelPackage/tun/description
419  Kernel support for the TUN/TAP tunneling device
420 endef
421
422 $(eval $(call KernelPackage,tun))
423
424
425 define KernelPackage/ppp
426   SUBMENU:=$(NETWORK_SUPPORT_MENU)
427   TITLE:=PPP modules
428   DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
429   KCONFIG:= \
430         CONFIG_PPP \
431         CONFIG_PPP_ASYNC \
432         CONFIG_SLHC
433   FILES:= \
434         $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
435         $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
436         $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
437   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
438 endef
439
440 define KernelPackage/ppp/description
441  Kernel modules for PPP support
442 endef
443
444 $(eval $(call KernelPackage,ppp))
445
446
447 define KernelPackage/ppp-synctty
448   SUBMENU:=$(NETWORK_SUPPORT_MENU)
449   TITLE:=PPP sync tty support
450   DEPENDS:=kmod-ppp
451   KCONFIG:=CONFIG_PPP_SYNC_TTY
452   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
453   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
454 endef
455
456 define KernelPackage/ppp-synctty/description
457  Kernel modules for PPP sync tty support
458 endef
459
460 $(eval $(call KernelPackage,ppp-synctty))
461
462
463 define KernelPackage/pppoe
464   SUBMENU:=$(NETWORK_SUPPORT_MENU)
465   TITLE:=PPPoE support
466   DEPENDS:=kmod-ppp
467   KCONFIG:=CONFIG_PPPOE
468   FILES:= \
469         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
470         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
471   AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
472 endef
473
474 define KernelPackage/pppoe/description
475  Kernel modules for PPPoE (PPP over Ethernet) support
476 endef
477
478 $(eval $(call KernelPackage,pppoe))
479
480
481 define KernelPackage/pppoa
482   SUBMENU:=$(NETWORK_SUPPORT_MENU)
483   TITLE:=PPPoA support
484   DEPENDS:=kmod-ppp +kmod-atm
485   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
486   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
487   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
488 endef
489
490 define KernelPackage/pppoa/description
491  Kernel modules for PPPoA (PPP over ATM) support
492 endef
493
494 $(eval $(call KernelPackage,pppoa))
495
496 define KernelPackage/pppol2tp
497   SUBMENU:=$(NETWORK_SUPPORT_MENU)
498   TITLE:=PPPoL2TP support
499   DEPENDS:=kmod-ppp +kmod-pppoe
500   KCONFIG:=CONFIG_PPPOL2TP
501   FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.$(LINUX_KMOD_SUFFIX)
502   AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
503 endef
504
505 define KernelPackage/pppol2tp/description
506   Kernel modules for PPPoL2TP (PPP over L2TP) support
507 endef
508
509 $(eval $(call KernelPackage,pppol2tp))
510
511
512 define KernelPackage/ipoa
513   SUBMENU:=$(NETWORK_SUPPORT_MENU)
514   TITLE:=IPoA support
515   DEPENDS:=kmod-atm
516   KCONFIG:=CONFIG_ATM_CLIP
517   FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
518   AUTOLOAD:=$(call AutoLoad,40,clip)
519 endef
520
521 define KernelPackage/ipoa/description
522   Kernel modules for IPoA (IP over ATM) support
523 endef
524
525 $(eval $(call KernelPackage,ipoa))
526
527
528 define KernelPackage/mppe
529   SUBMENU:=$(NETWORK_SUPPORT_MENU)
530   TITLE:=Microsoft PPP compression/encryption
531   DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1
532   KCONFIG:= \
533         CONFIG_PPP_MPPE_MPPC \
534         CONFIG_PPP_MPPE
535 endef
536
537 define KernelPackage/mppe/2.4
538 #  KCONFIG:=CONFIG_PPP_MPPE_MPPC
539   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
540   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
541 endef
542
543 define KernelPackage/mppe/2.6
544 #  KCONFIG:=CONFIG_PPP_MPPE
545   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
546   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
547 endef
548
549 define KernelPackage/mppe/description
550  Kernel modules for Microsoft PPP compression/encryption
551 endef
552
553 $(eval $(call KernelPackage,mppe))
554
555
556 define KernelPackage/sched
557   SUBMENU:=$(NETWORK_SUPPORT_MENU)
558   TITLE:=Traffic schedulers
559   KCONFIG:= \
560         CONFIG_NET_SCHED=y \
561         CONFIG_NET_SCH_DSMARK \
562         CONFIG_NET_SCH_ESFQ \
563         CONFIG_NET_SCH_ESFQ_NFCT=y \
564         CONFIG_NET_SCH_FIFO \
565         CONFIG_NET_SCH_GRED \
566         CONFIG_NET_SCH_HFSC \
567         CONFIG_NET_SCH_HTB \
568         CONFIG_NET_SCH_INGRESS \
569         CONFIG_NET_SCH_PRIO \
570         CONFIG_NET_SCH_RED \
571         CONFIG_NET_SCH_TBF \
572         CONFIG_NET_SCH_SFQ \
573         CONFIG_NET_SCH_TEQL \
574         CONFIG_NET_CLS=y \
575         CONFIG_NET_CLS_ACT=y \
576         CONFIG_NET_CLS_BASIC \
577         CONFIG_NET_CLS_FLOW \
578         CONFIG_NET_CLS_FW \
579         CONFIG_NET_CLS_ROUTE4 \
580         CONFIG_NET_CLS_TCINDEX \
581         CONFIG_NET_CLS_U32 \
582         CONFIG_NET_ACT_MIRRED \
583         CONFIG_NET_ACT_IPT \
584         CONFIG_NET_ACT_POLICE \
585         CONFIG_NET_EMATCH=y \
586         CONFIG_NET_EMATCH_CMP \
587         CONFIG_NET_EMATCH_NBYTE \
588         CONFIG_NET_EMATCH_U32 \
589         CONFIG_NET_EMATCH_META \
590         CONFIG_NET_EMATCH_TEXT
591   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
592 endef
593
594 define KernelPackage/sched/description
595  Kernel schedulers for IP traffic
596 endef
597
598 $(eval $(call KernelPackage,sched))
599
600
601 define KernelPackage/ax25
602   SUBMENU:=$(NETWORK_SUPPORT_MENU)
603   TITLE:=AX25 support
604   DEPENDS:= +kmod-crc16
605   KCONFIG:= \
606         CONFIG_AX25 \
607         CONFIG_MKISS
608   FILES:= \
609         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
610         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
611   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
612 endef
613
614 define KernelPackage/ax25/description
615  Kernel modules for AX25 support
616 endef
617
618 $(eval $(call KernelPackage,ax25))
619
620
621 define KernelPackage/mp-alg
622   SUBMENU:=$(NETWORK_SUPPORT_MENU)
623   TITLE:=ECMP caching algorithms
624   DEPENDS:=@LINUX_2_6
625   KCONFIG:= \
626         CONFIG_IP_ROUTE_MULTIPATH_RR \
627         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
628         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
629         CONFIG_IP_ROUTE_MULTIPATH_DRR
630   FILES:= \
631         $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
632         $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
633         $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
634         $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
635   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
636 endef
637
638 define KernelPackage/mp-alg/description
639  Kernel modules that provide several different algorithms for multipath
640  route selection from the route cache. The iproute "mpath" argument allows
641  specifying which algorithm to use for routes.
642  quagga (at least <=0.99.6) requires a multipath patch to support this
643  cached mp route feature.
644 endef
645
646 $(eval $(call KernelPackage,mp-alg))
647
648
649 define KernelPackage/pktgen
650   SUBMENU:=$(NETWORK_SUPPORT_MENU)
651   TITLE:=Network packet generator
652   DEPENDS:=@LINUX_2_6
653   KCONFIG:=CONFIG_NET_PKTGEN
654   FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
655   AUTOLOAD:=$(call AutoLoad,99,pktgen)
656 endef
657
658 define KernelPackage/pktgen/description
659   Kernel modules for the Network Packet Generator
660 endef
661
662 $(eval $(call KernelPackage,pktgen))
663