53e218d265c357968f59f018c45d1f2e8cf19f5f
[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         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 define KernelPackage/ipsec
197   SUBMENU:=$(NETWORK_SUPPORT_MENU)
198   TITLE:=IPsec related modules (IPv4 and IPv6)
199   DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
200   KCONFIG:= \
201         CONFIG_NET_KEY \
202         CONFIG_XFRM_USER \
203         CONFIG_XFRM_IPCOMP
204   FILES:= \
205         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
206         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX) \
207         $(LINUX_DIR)/net/xfrm/xfrm_ipcomp.$(LINUX_KMOD_SUFFIX)
208 endef
209
210 define KernelPackage/ipsec/description
211  Kernel modules for IPsec support in both IPv4 and IPv6.
212  Includes:
213  - af_key
214  - xfrm_user
215 endef
216
217 $(eval $(call KernelPackage,ipsec))
218
219
220 define KernelPackage/ipsec4
221   SUBMENU:=$(NETWORK_SUPPORT_MENU)
222   TITLE:=IPsec related modules (IPv4)
223   DEPENDS:=kmod-ipsec +kmod-iptunnel4
224   KCONFIG:= \
225         CONFIG_INET_AH \
226         CONFIG_INET_ESP \
227         CONFIG_INET_IPCOMP \
228         CONFIG_INET_XFRM_MODE_BEET \
229         CONFIG_INET_XFRM_MODE_TRANSPORT \
230         CONFIG_INET_XFRM_MODE_TUNNEL \
231         CONFIG_INET_XFRM_TUNNEL
232   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
233         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
234   )
235 endef
236
237 define KernelPackage/ipsec4/description
238  Kernel modules for IPsec support in IPv4.
239  Includes:
240  - ah4
241  - esp4
242  - ipcomp
243  - xfrm4_mode_beet
244  - xfrm4_mode_transport
245  - xfrm4_mode_tunnel
246  - xfrm4_tunnel
247 endef
248
249 $(eval $(call KernelPackage,ipsec4))
250
251
252 define KernelPackage/ipsec6
253   SUBMENU:=$(NETWORK_SUPPORT_MENU)
254   TITLE:=IPsec related modules (IPv6)
255   DEPENDS:=kmod-ipsec +kmod-iptunnel6
256   KCONFIG:= \
257         CONFIG_INET6_AH \
258         CONFIG_INET6_ESP \
259         CONFIG_INET6_IPCOMP \
260         CONFIG_INET6_XFRM_MODE_BEET \
261         CONFIG_INET6_XFRM_MODE_TRANSPORT \
262         CONFIG_INET6_XFRM_MODE_TUNNEL \
263         CONFIG_INET6_XFRM_TUNNEL
264   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
265         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
266   )
267 endef
268
269 define KernelPackage/ipsec6/description
270  Kernel modules for IPsec support in IPv6.
271  Includes:
272  - ah6
273  - esp6
274  - ipcomp6
275  - xfrm6_mode_beet
276  - xfrm6_mode_transport
277  - xfrm6_mode_tunnel
278  - xfrm6_tunnel
279 endef
280
281 $(eval $(call KernelPackage,ipsec6))
282
283
284 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
285 define KernelPackage/iptunnel4
286   SUBMENU:=$(NETWORK_SUPPORT_MENU)
287   TITLE:=IPv4 tunneling
288   DEPENDS:=@LINUX_2_6
289   KCONFIG:= \
290         CONFIG_NET_IPIP \
291         CONFIG_INET_TUNNEL
292   FILES:= $(foreach mod,tunnel4, \
293         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
294   )
295   AUTOLOAD:=$(call AutoLoad,31,tunnel4)
296 endef
297
298 define KernelPackage/iptunnel4/description
299  Kernel modules for IPv4 tunneling
300 endef
301
302 $(eval $(call KernelPackage,iptunnel4))
303
304
305 define KernelPackage/iptunnel6
306   SUBMENU:=$(NETWORK_SUPPORT_MENU)
307   TITLE:=IPv6 tunneling
308   DEPENDS:= @LINUX_2_6 +kmod-ipv6
309   KCONFIG:= \
310         CONFIG_INET6_TUNNEL
311   FILES:= $(foreach mod,tunnel6, \
312         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
313   )
314   AUTOLOAD:=$(call AutoLoad,31,tunnel6)
315 endef
316
317 define KernelPackage/iptunnel6/description
318  Kernel modules for IPv6 tunneling
319 endef
320
321 $(eval $(call KernelPackage,iptunnel6))
322
323
324 define KernelPackage/ipv6
325   SUBMENU:=$(NETWORK_SUPPORT_MENU)
326   TITLE:=IPv6 support
327   KCONFIG:= \
328         CONFIG_IPV6 \
329         CONFIG_IPV6_PRIVACY=y \
330         CONFIG_IPV6_MULTIPLE_TABLES=y \
331         CONFIG_IPV6_MROUTE=y \
332         CONFIG_IPV6_PIMSM_V2=n \
333         CONFIG_IPV6_SUBTREES=y
334   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
335   AUTOLOAD:=$(call AutoLoad,20,ipv6)
336 endef
337
338 define KernelPackage/ipv6/description
339  Kernel modules for IPv6 support
340 endef
341
342 $(eval $(call KernelPackage,ipv6))
343
344
345 # sit is not selectable on 2.4, but built when ipv6 is enabled
346 define KernelPackage/sit
347   SUBMENU:=$(NETWORK_SUPPORT_MENU)
348   DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
349   TITLE:=IPv6-in-IPv4 tunnelling
350   KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
351   FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
352   AUTOLOAD:=$(call AutoLoad,32,sit)
353 endef
354
355 define KernelPackage/sit/description
356  Kernel modules for IPv6-in-IPv4 tunnelling
357 endef
358
359 $(eval $(call KernelPackage,sit))
360
361
362 define KernelPackage/ip6-tunnel
363   SUBMENU:=$(NETWORK_SUPPORT_MENU)
364   TITLE:=IP-in-IPv6 tunnelling
365   DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
366   KCONFIG:= CONFIG_IPV6_TUNNEL
367   FILES:= $(foreach mod,ip6_tunnel, \
368         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
369   )
370   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
371 endef
372
373 define KernelPackage/ip6-tunnel/description
374  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
375 endef
376
377 $(eval $(call KernelPackage,ip6-tunnel))
378
379
380 define KernelPackage/gre
381   SUBMENU:=$(NETWORK_SUPPORT_MENU)
382   TITLE:=GRE support
383   KCONFIG:=CONFIG_NET_IPGRE
384   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
385 endef
386
387 define KernelPackage/gre/description
388  Generic Routing Encapsulation support
389 endef
390
391 $(eval $(call KernelPackage,gre))
392
393
394 define KernelPackage/tun
395   SUBMENU:=$(NETWORK_SUPPORT_MENU)
396   TITLE:=Universal TUN/TAP driver
397   KCONFIG:=CONFIG_TUN
398   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
399   AUTOLOAD:=$(call AutoLoad,30,tun)
400 endef
401
402 define KernelPackage/tun/description
403  Kernel support for the TUN/TAP tunneling device
404 endef
405
406 $(eval $(call KernelPackage,tun))
407
408
409 define KernelPackage/ppp
410   SUBMENU:=$(NETWORK_SUPPORT_MENU)
411   TITLE:=PPP modules
412   DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
413   KCONFIG:= \
414         CONFIG_PPP \
415         CONFIG_PPP_ASYNC \
416         CONFIG_SLHC
417   FILES:= \
418         $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
419         $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
420         $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
421   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
422 endef
423
424 define KernelPackage/ppp/description
425  Kernel modules for PPP support
426 endef
427
428 $(eval $(call KernelPackage,ppp))
429
430
431 define KernelPackage/ppp-synctty
432   SUBMENU:=$(NETWORK_SUPPORT_MENU)
433   TITLE:=PPP sync tty support
434   DEPENDS:=kmod-ppp
435   KCONFIG:=CONFIG_PPP_SYNC_TTY
436   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
437   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
438 endef
439
440 define KernelPackage/ppp-synctty/description
441  Kernel modules for PPP sync tty support
442 endef
443
444 $(eval $(call KernelPackage,ppp-synctty))
445
446
447 define KernelPackage/pppoe
448   SUBMENU:=$(NETWORK_SUPPORT_MENU)
449   TITLE:=PPPoE support
450   DEPENDS:=kmod-ppp
451   KCONFIG:=CONFIG_PPPOE
452   FILES:= \
453         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
454         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
455   AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
456 endef
457
458 define KernelPackage/pppoe/description
459  Kernel modules for PPPoE (PPP over Ethernet) support
460 endef
461
462 $(eval $(call KernelPackage,pppoe))
463
464
465 define KernelPackage/pppoa
466   SUBMENU:=$(NETWORK_SUPPORT_MENU)
467   TITLE:=PPPoA support
468   DEPENDS:=kmod-ppp +kmod-atm
469   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
470   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
471   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
472 endef
473
474 define KernelPackage/pppoa/description
475  Kernel modules for PPPoA (PPP over ATM) support
476 endef
477
478 $(eval $(call KernelPackage,pppoa))
479
480 define KernelPackage/pppol2tp
481   SUBMENU:=$(NETWORK_SUPPORT_MENU)
482   TITLE:=PPPoL2TP support
483   DEPENDS:=kmod-ppp +kmod-pppoe
484   KCONFIG:=CONFIG_PPPOL2TP
485   FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.$(LINUX_KMOD_SUFFIX)
486   AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
487 endef
488
489 define KernelPackage/pppol2tp/description
490   Kernel modules for PPPoL2TP (PPP over L2TP) support
491 endef
492
493 $(eval $(call KernelPackage,pppol2tp))
494
495
496 define KernelPackage/ipoa
497   SUBMENU:=$(NETWORK_SUPPORT_MENU)
498   TITLE:=IPoA support
499   DEPENDS:=kmod-atm
500   KCONFIG:=CONFIG_ATM_CLIP
501   FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
502   AUTOLOAD:=$(call AutoLoad,40,clip)
503 endef
504
505 define KernelPackage/ipoa/description
506   Kernel modules for IPoA (IP over ATM) support
507 endef
508
509 $(eval $(call KernelPackage,ipoa))
510
511
512 define KernelPackage/mppe
513   SUBMENU:=$(NETWORK_SUPPORT_MENU)
514   TITLE:=Microsoft PPP compression/encryption
515   DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1
516   KCONFIG:= \
517         CONFIG_PPP_MPPE_MPPC \
518         CONFIG_PPP_MPPE
519 endef
520
521 define KernelPackage/mppe/2.4
522 #  KCONFIG:=CONFIG_PPP_MPPE_MPPC
523   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
524   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
525 endef
526
527 define KernelPackage/mppe/2.6
528 #  KCONFIG:=CONFIG_PPP_MPPE
529   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
530   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
531 endef
532
533 define KernelPackage/mppe/description
534  Kernel modules for Microsoft PPP compression/encryption
535 endef
536
537 $(eval $(call KernelPackage,mppe))
538
539
540 define KernelPackage/sched
541   SUBMENU:=$(NETWORK_SUPPORT_MENU)
542   TITLE:=Traffic schedulers
543   KCONFIG:= \
544         CONFIG_NET_SCHED=y \
545         CONFIG_NET_SCH_DSMARK \
546         CONFIG_NET_SCH_ESFQ \
547         CONFIG_NET_SCH_ESFQ_NFCT=y \
548         CONFIG_NET_SCH_FIFO \
549         CONFIG_NET_SCH_GRED \
550         CONFIG_NET_SCH_HFSC \
551         CONFIG_NET_SCH_HTB \
552         CONFIG_NET_SCH_INGRESS \
553         CONFIG_NET_SCH_PRIO \
554         CONFIG_NET_SCH_RED \
555         CONFIG_NET_SCH_TBF \
556         CONFIG_NET_SCH_SFQ \
557         CONFIG_NET_SCH_TEQL \
558         CONFIG_NET_CLS=y \
559         CONFIG_NET_CLS_ACT=y \
560         CONFIG_NET_CLS_BASIC \
561         CONFIG_NET_CLS_FLOW \
562         CONFIG_NET_CLS_FW \
563         CONFIG_NET_CLS_ROUTE4 \
564         CONFIG_NET_CLS_TCINDEX \
565         CONFIG_NET_CLS_U32 \
566         CONFIG_NET_ACT_MIRRED \
567         CONFIG_NET_ACT_IPT \
568         CONFIG_NET_ACT_POLICE \
569         CONFIG_NET_EMATCH=y \
570         CONFIG_NET_EMATCH_CMP \
571         CONFIG_NET_EMATCH_NBYTE \
572         CONFIG_NET_EMATCH_U32 \
573         CONFIG_NET_EMATCH_META \
574         CONFIG_NET_EMATCH_TEXT
575   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
576 endef
577
578 define KernelPackage/sched/description
579  Kernel schedulers for IP traffic
580 endef
581
582 $(eval $(call KernelPackage,sched))
583
584
585 define KernelPackage/ax25
586   SUBMENU:=$(NETWORK_SUPPORT_MENU)
587   TITLE:=AX25 support
588   DEPENDS:= +kmod-crc16
589   KCONFIG:= \
590         CONFIG_AX25 \
591         CONFIG_MKISS
592   FILES:= \
593         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
594         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
595   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
596 endef
597
598 define KernelPackage/ax25/description
599  Kernel modules for AX25 support
600 endef
601
602 $(eval $(call KernelPackage,ax25))
603
604
605 define KernelPackage/mp-alg
606   SUBMENU:=$(NETWORK_SUPPORT_MENU)
607   TITLE:=ECMP caching algorithms
608   DEPENDS:=@LINUX_2_6
609   KCONFIG:= \
610         CONFIG_IP_ROUTE_MULTIPATH_RR \
611         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
612         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
613         CONFIG_IP_ROUTE_MULTIPATH_DRR
614   FILES:= \
615         $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
616         $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
617         $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
618         $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
619   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
620 endef
621
622 define KernelPackage/mp-alg/description
623  Kernel modules that provide several different algorithms for multipath
624  route selection from the route cache. The iproute "mpath" argument allows
625  specifying which algorithm to use for routes.
626  quagga (at least <=0.99.6) requires a multipath patch to support this
627  cached mp route feature.
628 endef
629
630 $(eval $(call KernelPackage,mp-alg))
631
632
633 define KernelPackage/pktgen
634   SUBMENU:=$(NETWORK_SUPPORT_MENU)
635   TITLE:=Network packet generator
636   DEPENDS:=@LINUX_2_6
637   KCONFIG:=CONFIG_NET_PKTGEN
638   FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
639   AUTOLOAD:=$(call AutoLoad,99,pktgen)
640 endef
641
642 define KernelPackage/pktgen/description
643   Kernel modules for the Network Packet Generator
644 endef
645
646 $(eval $(call KernelPackage,pktgen))
647