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