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