de044789eb55138133067fb2a5b626db65f8175b
[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         CONFIG_ISDN_CAPI_CAPIFS
93   FILES:= \
94         $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
95         $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX) \
96         $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX)
97   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
98 endef
99
100 define KernelPackage/capi/description
101  Kernel module for basic CAPI (ISDN) support
102 endef
103
104 $(eval $(call KernelPackage,capi))
105
106 define KernelPackage/misdn
107   SUBMENU:=$(NETWORK_SUPPORT_MENU)
108   TITLE:=mISDN (ISDN) Support
109   KCONFIG:= \
110         CONFIG_MISDN \
111         CONFIG_MISDN_DSP \
112         CONFIG_MISDN_L1OIP
113   FILES:= \
114         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.$(LINUX_KMOD_SUFFIX) \
115         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.$(LINUX_KMOD_SUFFIX) \
116         $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.$(LINUX_KMOD_SUFFIX)
117   AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
118 endef
119
120 define KernelPackage/misdn/2.4
121   KCONFIG+= \
122         CONFIG_ISDN
123 endef
124
125 define KernelPackage/misdn/2.6
126    KCONFIG+= \
127         CONFIG_ISDN=y
128 endef
129
130 define KernelPackage/misdn/description
131   Modular ISDN driver support
132 endef
133
134 $(eval $(call KernelPackage,misdn))
135
136
137 define KernelPackage/isdn4linux
138   SUBMENU:=$(NETWORK_SUPPORT_MENU)
139   TITLE:=Old ISDN4Linux (deprecated)
140   KCONFIG:= \
141     CONFIG_ISDN_I4L \
142     CONFIG_ISDN_PPP=y \
143     CONFIG_ISDN_PPP_VJ=y \
144     CONFIG_ISDN_MPP=y \
145     CONFIG_IPPP_FILTER=y \
146     CONFIG_ISDN_PPP_BSDCOMP \
147     CONFIG_ISDN_CAPI_MIDDLEWARE=y \
148     CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
149     CONFIG_ISDN_AUDIO=y \
150     CONFIG_ISDN_TTY_FAX=y \
151     CONFIG_ISDN_X25=y \
152     CONFIG_ISDN_DIVERSION
153   FILES:= \
154     $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.$(LINUX_KMOD_SUFFIX)
155   AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
156 endef
157
158 define KernelPackage/isdn4linux/2.4
159   KCONFIG+= \
160         CONFIG_ISDN
161   FILES+= \
162         $(LINUX_DIR)/drivers/isdn/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
163 endef
164
165 define KernelPackage/isdn4linux/2.6
166   KCONFIG+= \
167         CONFIG_ISDN=y
168   FILES+= \
169         $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
170         $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX)
171 endef
172
173 define KernelPackage/isdn4linux/description
174   This driver allows you to use an ISDN adapter for networking
175 endef
176
177 $(eval $(call KernelPackage,isdn4linux))
178
179
180 define KernelPackage/ipip
181   SUBMENU:=$(NETWORK_SUPPORT_MENU)
182   TITLE:=IP-in-IP encapsulation
183   DEPENDS:=+LINUX_2_6:kmod-iptunnel4
184   KCONFIG:=CONFIG_NET_IPIP
185   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
186   AUTOLOAD:=$(call AutoLoad,32,ipip)
187 endef
188
189 define KernelPackage/ipip/description
190  Kernel modules for IP-in-IP encapsulation
191 endef
192
193 $(eval $(call KernelPackage,ipip))
194
195
196 IPSEC-m:= \
197         key/af_key \
198         xfrm/xfrm_ipcomp \
199         xfrm/xfrm_user \
200
201 define KernelPackage/ipsec
202   SUBMENU:=$(NETWORK_SUPPORT_MENU)
203   TITLE:=IPsec related modules (IPv4 and IPv6)
204   DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
205   KCONFIG:= \
206         CONFIG_NET_KEY \
207         CONFIG_XFRM_USER \
208         CONFIG_XFRM_IPCOMP
209   FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
210   AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
211 endef
212
213 define KernelPackage/ipsec/description
214  Kernel modules for IPsec support in both IPv4 and IPv6.
215  Includes:
216  - af_key
217  - xfrm_ipcomp
218  - xfrm_user
219 endef
220
221 $(eval $(call KernelPackage,ipsec))
222
223
224 IPSEC4-m:= \
225         ipv4/ah4 \
226         ipv4/esp4 \
227         ipv4/xfrm4_mode_beet \
228         ipv4/xfrm4_mode_transport \
229         ipv4/xfrm4_mode_tunnel \
230         ipv4/xfrm4_tunnel \
231         ipv4/ipcomp \
232
233 define KernelPackage/ipsec4
234   SUBMENU:=$(NETWORK_SUPPORT_MENU)
235   TITLE:=IPsec related modules (IPv4)
236   DEPENDS:=kmod-ipsec +kmod-iptunnel4
237   KCONFIG:= \
238         CONFIG_INET_AH \
239         CONFIG_INET_ESP \
240         CONFIG_INET_IPCOMP \
241         CONFIG_INET_XFRM_MODE_BEET \
242         CONFIG_INET_XFRM_MODE_TRANSPORT \
243         CONFIG_INET_XFRM_MODE_TUNNEL \
244         CONFIG_INET_XFRM_TUNNEL
245   FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
246   AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
247 endef
248
249 define KernelPackage/ipsec4/description
250  Kernel modules for IPsec support in IPv4.
251  Includes:
252  - ah4
253  - esp4
254  - ipcomp
255  - xfrm4_mode_beet
256  - xfrm4_mode_transport
257  - xfrm4_mode_tunnel
258  - xfrm4_tunnel
259 endef
260
261 $(eval $(call KernelPackage,ipsec4))
262
263
264 IPSEC6-m:= \
265         ipv6/ah6 \
266         ipv6/esp6 \
267         ipv6/xfrm6_mode_beet \
268         ipv6/xfrm6_mode_transport \
269         ipv6/xfrm6_mode_tunnel \
270         ipv6/xfrm6_tunnel \
271         ipv6/ipcomp6 \
272
273 define KernelPackage/ipsec6
274   SUBMENU:=$(NETWORK_SUPPORT_MENU)
275   TITLE:=IPsec related modules (IPv6)
276   DEPENDS:=kmod-ipsec +kmod-iptunnel6
277   KCONFIG:= \
278         CONFIG_INET6_AH \
279         CONFIG_INET6_ESP \
280         CONFIG_INET6_IPCOMP \
281         CONFIG_INET6_XFRM_MODE_BEET \
282         CONFIG_INET6_XFRM_MODE_TRANSPORT \
283         CONFIG_INET6_XFRM_MODE_TUNNEL \
284         CONFIG_INET6_XFRM_TUNNEL
285   FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
286   AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
287 endef
288
289 define KernelPackage/ipsec6/description
290  Kernel modules for IPsec support in IPv6.
291  Includes:
292  - ah6
293  - esp6
294  - ipcomp6
295  - xfrm6_mode_beet
296  - xfrm6_mode_transport
297  - xfrm6_mode_tunnel
298  - xfrm6_tunnel
299 endef
300
301 $(eval $(call KernelPackage,ipsec6))
302
303
304 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
305 define KernelPackage/iptunnel4
306   SUBMENU:=$(NETWORK_SUPPORT_MENU)
307   TITLE:=IPv4 tunneling
308   DEPENDS:=@LINUX_2_6
309   KCONFIG:= \
310         CONFIG_NET_IPIP \
311         CONFIG_INET_TUNNEL
312   FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
313   AUTOLOAD:=$(call AutoLoad,31,tunnel4)
314 endef
315
316 define KernelPackage/iptunnel4/description
317  Kernel modules for IPv4 tunneling
318 endef
319
320 $(eval $(call KernelPackage,iptunnel4))
321
322
323 define KernelPackage/iptunnel6
324   SUBMENU:=$(NETWORK_SUPPORT_MENU)
325   TITLE:=IPv6 tunneling
326   DEPENDS:= @LINUX_2_6 +kmod-ipv6
327   KCONFIG:= \
328         CONFIG_INET6_TUNNEL
329   FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.$(LINUX_KMOD_SUFFIX)
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   KCONFIG:= \
605         CONFIG_AX25 \
606         CONFIG_MKISS
607   FILES:= \
608         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
609         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
610   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
611   $(call AddDepends/crc16)
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