l2tp: activate l2tp for kernel 2.6.36 and 2.6.37 and fix pppol2tp
[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
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 tunnelling
341   KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
342   FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
343   AUTOLOAD:=$(call AutoLoad,32,sit)
344 endef
345
346 define KernelPackage/sit/description
347  Kernel modules for IPv6-in-IPv4 tunnelling
348 endef
349
350 $(eval $(call KernelPackage,sit))
351
352
353 define KernelPackage/ip6-tunnel
354   SUBMENU:=$(NETWORK_SUPPORT_MENU)
355   TITLE:=IP-in-IPv6 tunnelling
356   DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
357   KCONFIG:= CONFIG_IPV6_TUNNEL
358   FILES:= $(foreach mod,ip6_tunnel, \
359         $(LINUX_DIR)/net/ipv6/$(mod).ko \
360   )
361   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
362 endef
363
364 define KernelPackage/ip6-tunnel/description
365  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
366 endef
367
368 $(eval $(call KernelPackage,ip6-tunnel))
369
370
371 define KernelPackage/gre
372   SUBMENU:=$(NETWORK_SUPPORT_MENU)
373   TITLE:=GRE support
374   KCONFIG:=CONFIG_NET_IPGRE
375   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.ko
376 endef
377
378 define KernelPackage/gre/description
379  Generic Routing Encapsulation support
380 endef
381
382 $(eval $(call KernelPackage,gre))
383
384
385 define KernelPackage/tun
386   SUBMENU:=$(NETWORK_SUPPORT_MENU)
387   TITLE:=Universal TUN/TAP driver
388   KCONFIG:=CONFIG_TUN
389   FILES:=$(LINUX_DIR)/drivers/net/tun.ko
390   AUTOLOAD:=$(call AutoLoad,30,tun)
391 endef
392
393 define KernelPackage/tun/description
394  Kernel support for the TUN/TAP tunneling device
395 endef
396
397 $(eval $(call KernelPackage,tun))
398
399
400 define KernelPackage/ppp
401   SUBMENU:=$(NETWORK_SUPPORT_MENU)
402   TITLE:=PPP modules
403   DEPENDS:=+kmod-crc-ccitt
404   KCONFIG:= \
405         CONFIG_PPP \
406         CONFIG_PPP_ASYNC \
407         CONFIG_SLHC
408   FILES:= \
409         $(LINUX_DIR)/drivers/net/ppp_async.ko \
410         $(LINUX_DIR)/drivers/net/ppp_generic.ko \
411         $(LINUX_DIR)/drivers/net/slhc.ko
412   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
413 endef
414
415 define KernelPackage/ppp/description
416  Kernel modules for PPP support
417 endef
418
419 $(eval $(call KernelPackage,ppp))
420
421
422 define KernelPackage/ppp-synctty
423   SUBMENU:=$(NETWORK_SUPPORT_MENU)
424   TITLE:=PPP sync tty support
425   DEPENDS:=kmod-ppp
426   KCONFIG:=CONFIG_PPP_SYNC_TTY
427   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
428   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
429 endef
430
431 define KernelPackage/ppp-synctty/description
432  Kernel modules for PPP sync tty support
433 endef
434
435 $(eval $(call KernelPackage,ppp-synctty))
436
437
438 define KernelPackage/pppoe
439   SUBMENU:=$(NETWORK_SUPPORT_MENU)
440   TITLE:=PPPoE support
441   DEPENDS:=kmod-ppp
442   KCONFIG:=CONFIG_PPPOE
443   FILES:= \
444         $(LINUX_DIR)/drivers/net/pppoe.ko \
445         $(LINUX_DIR)/drivers/net/pppox.ko
446   AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
447 endef
448
449 define KernelPackage/pppoe/description
450  Kernel modules for PPPoE (PPP over Ethernet) support
451 endef
452
453 $(eval $(call KernelPackage,pppoe))
454
455
456 define KernelPackage/pppoa
457   SUBMENU:=$(NETWORK_SUPPORT_MENU)
458   TITLE:=PPPoA support
459   DEPENDS:=kmod-ppp +kmod-atm
460   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
461   FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
462   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
463 endef
464
465 define KernelPackage/pppoa/description
466  Kernel modules for PPPoA (PPP over ATM) support
467 endef
468
469 $(eval $(call KernelPackage,pppoa))
470
471 define KernelPackage/pppol2tp
472   SUBMENU:=$(NETWORK_SUPPORT_MENU)
473   TITLE:=PPPoL2TP support
474   DEPENDS:=kmod-ppp +kmod-pppoe +LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37:kmod-l2tp
475   KCONFIG:=CONFIG_PPPOL2TP
476   ifneq ($(CONFIG_LINUX_2_6_35)$(CONFIG_LINUX_2_6_36)$(CONFIG_LINUX_2_6_37),)
477     FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.mod.o
478   else
479     FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
480   endif
481   AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
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_EMATCH=y \
555         CONFIG_NET_EMATCH_CMP \
556         CONFIG_NET_EMATCH_NBYTE \
557         CONFIG_NET_EMATCH_U32 \
558         CONFIG_NET_EMATCH_META \
559         CONFIG_NET_EMATCH_TEXT
560   FILES:=$(LINUX_DIR)/net/sched/*.ko
561 endef
562
563 define KernelPackage/sched/description
564  Kernel schedulers for IP traffic
565 endef
566
567 $(eval $(call KernelPackage,sched))
568
569
570 define KernelPackage/ax25
571   SUBMENU:=$(NETWORK_SUPPORT_MENU)
572   TITLE:=AX25 support
573   KCONFIG:= \
574         CONFIG_AX25 \
575         CONFIG_MKISS
576   FILES:= \
577         $(LINUX_DIR)/net/ax25/ax25.ko \
578         $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
579   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
580   $(call AddDepends/crc16)
581 endef
582
583 define KernelPackage/ax25/description
584  Kernel modules for AX25 support
585 endef
586
587 $(eval $(call KernelPackage,ax25))
588
589
590 define KernelPackage/mp-alg
591   SUBMENU:=$(NETWORK_SUPPORT_MENU)
592   TITLE:=ECMP caching algorithms
593   KCONFIG:= \
594         CONFIG_IP_ROUTE_MULTIPATH_RR \
595         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
596         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
597         CONFIG_IP_ROUTE_MULTIPATH_DRR
598   FILES:= \
599         $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
600         $(LINUX_DIR)/net/ipv4/multipath_random.ko \
601         $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
602         $(LINUX_DIR)/net/ipv4/multipath_drr.ko
603   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
604 endef
605
606 define KernelPackage/mp-alg/description
607  Kernel modules that provide several different algorithms for multipath
608  route selection from the route cache. The iproute "mpath" argument allows
609  specifying which algorithm to use for routes.
610  quagga (at least <=0.99.6) requires a multipath patch to support this
611  cached mp route feature.
612 endef
613
614 $(eval $(call KernelPackage,mp-alg))
615
616
617 define KernelPackage/pktgen
618   SUBMENU:=$(NETWORK_SUPPORT_MENU)
619   TITLE:=Network packet generator
620   KCONFIG:=CONFIG_NET_PKTGEN
621   FILES:=$(LINUX_DIR)/net/core/pktgen.ko
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
631 define KernelPackage/l2tp
632   SUBMENU:=$(NETWORK_SUPPORT_MENU)
633   DEPENDS:=@LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37
634   TITLE:=L2TPv3 Support
635   KCONFIG:=CONFIG_L2TP CONFIG_L2TP_DEBUGFS=n
636   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.$(LINUX_KMOD_SUFFIX)
637   AUTOLOAD:=$(call AutoLoad,32,l2tp_core)
638 endef
639
640 define KernelPackage/l2tp/description
641  Kernel modules for L2TP V3 Support
642 endef
643
644 $(eval $(call KernelPackage,l2tp))
645
646 define KernelPackage/l2tp-eth
647   SUBMENU:=$(NETWORK_SUPPORT_MENU)
648   TITLE:=L2TP ethernet pseudowire support for L2TPv3
649   DEPENDS:=+kmod-l2tp
650   KCONFIG:= CONFIG_L2TP_V3=y \
651   CONFIG_L2TP_ETH
652   FILES:= \
653           $(LINUX_DIR)/net/l2tp/l2tp_netlink.$(LINUX_KMOD_SUFFIX) \
654           $(LINUX_DIR)/net/l2tp/l2tp_eth.$(LINUX_KMOD_SUFFIX) 
655   AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink l2tp_eth)
656 endef
657
658 define KernelPackage/l2tp-eth/description
659  Kernel modules for L2TP V3 pseudowire support
660 endef
661
662 $(eval $(call KernelPackage,l2tp-eth))
663
664 define KernelPackage/l2tp-ip
665   SUBMENU:=$(NETWORK_SUPPORT_MENU)
666   TITLE:=Support for L2TP-over-IP socket family
667   DEPENDS:=+kmod-l2tp
668   KCONFIG:= CONFIG_L2TP_V3=y \
669   CONFIG_L2TP_IP
670   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.$(LINUX_KMOD_SUFFIX)
671   AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_ip)
672 endef
673
674 define KernelPackage/l2tp-ip/description
675  Kernel modules for L2TP-over-IP socket family
676 endef
677
678 $(eval $(call KernelPackage,l2tp-ip))
679
680
681 define KernelPackage/sctp
682   SUBMENU:=$(NETWORK_SUPPORT_MENU)
683   TITLE:=SCTP protocol kernel support
684   KCONFIG:=\
685      CONFIG_IP_SCTP \
686      CONFIG_SCTP_DBG_MSG=n \
687      CONFIG_SCTP_DBG_OBJCNT=n \
688      CONFIG_SCTP_HMAC_NONE=n \
689      CONFIG_SCTP_HMAC_SHA1=n \
690      CONFIG_SCTP_HMAC_MD5=y
691   FILES:= $(LINUX_DIR)/net/sctp/sctp.$(LINUX_KMOD_SUFFIX)
692   AUTOLOAD:= $(call AutoLoad,32,sctp)
693   DEPENDS:=+kmod-libcrc32c +kmod-crypto-md5 +kmod-crypto-hmac
694 endef
695
696 define KernelPackage/sctp/description
697  Kernel modules for SCTP protocol support
698 endef
699
700 $(eval $(call KernelPackage,sctp))
701
702