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