[package] kernel: fix usage of CompareKernelPatchVer for kmod-gre
[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     $(if $(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.37)),CONFIG_NET_IPGRE_DEMUX)
375   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.ko \
376     $(if $(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.37)),$(LINUX_DIR)/net/ipv4/gre.ko)
377   AUTOLOAD:=$(call AutoLoad,39, \
378     $(if $(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.37)),gre) ip_gre)
379 endef
380
381 define KernelPackage/gre/description
382  Generic Routing Encapsulation support
383 endef
384
385 $(eval $(call KernelPackage,gre))
386
387
388 define KernelPackage/tun
389   SUBMENU:=$(NETWORK_SUPPORT_MENU)
390   TITLE:=Universal TUN/TAP driver
391   KCONFIG:=CONFIG_TUN
392   FILES:=$(LINUX_DIR)/drivers/net/tun.ko
393   AUTOLOAD:=$(call AutoLoad,30,tun)
394 endef
395
396 define KernelPackage/tun/description
397  Kernel support for the TUN/TAP tunneling device
398 endef
399
400 $(eval $(call KernelPackage,tun))
401
402
403 define KernelPackage/ppp
404   SUBMENU:=$(NETWORK_SUPPORT_MENU)
405   TITLE:=PPP modules
406   DEPENDS:=+kmod-crc-ccitt
407   KCONFIG:= \
408         CONFIG_PPP \
409         CONFIG_PPP_ASYNC \
410         CONFIG_SLHC
411   FILES:= \
412         $(LINUX_DIR)/drivers/net/ppp_async.ko \
413         $(LINUX_DIR)/drivers/net/ppp_generic.ko \
414         $(LINUX_DIR)/drivers/net/slhc.ko
415   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
416 endef
417
418 define KernelPackage/ppp/description
419  Kernel modules for PPP support
420 endef
421
422 $(eval $(call KernelPackage,ppp))
423
424
425 define KernelPackage/ppp-synctty
426   SUBMENU:=$(NETWORK_SUPPORT_MENU)
427   TITLE:=PPP sync tty support
428   DEPENDS:=kmod-ppp
429   KCONFIG:=CONFIG_PPP_SYNC_TTY
430   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
431   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
432 endef
433
434 define KernelPackage/ppp-synctty/description
435  Kernel modules for PPP sync tty support
436 endef
437
438 $(eval $(call KernelPackage,ppp-synctty))
439
440
441 define KernelPackage/pppoe
442   SUBMENU:=$(NETWORK_SUPPORT_MENU)
443   TITLE:=PPPoE support
444   DEPENDS:=kmod-ppp
445   KCONFIG:=CONFIG_PPPOE
446   FILES:= \
447         $(LINUX_DIR)/drivers/net/pppoe.ko \
448         $(LINUX_DIR)/drivers/net/pppox.ko
449   AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
450 endef
451
452 define KernelPackage/pppoe/description
453  Kernel modules for PPPoE (PPP over Ethernet) support
454 endef
455
456 $(eval $(call KernelPackage,pppoe))
457
458
459 define KernelPackage/pppoa
460   SUBMENU:=$(NETWORK_SUPPORT_MENU)
461   TITLE:=PPPoA support
462   DEPENDS:=kmod-ppp +kmod-atm
463   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
464   FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
465   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
466 endef
467
468 define KernelPackage/pppoa/description
469  Kernel modules for PPPoA (PPP over ATM) support
470 endef
471
472 $(eval $(call KernelPackage,pppoa))
473
474
475 define KernelPackage/pptp
476   SUBMENU:=$(NETWORK_SUPPORT_MENU)
477   TITLE:=PPtP support
478   DEPENDS:=kmod-ppp +kmod-gre @LINUX_2_6_37||LINUX_2_6_38
479   KCONFIG:=CONFIG_PPTP
480   FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
481   AUTOLOAD:=$(call AutoLoad,41,pptp)
482 endef
483
484 $(eval $(call KernelPackage,pptp))
485         
486
487 define KernelPackage/pppol2tp
488   SUBMENU:=$(NETWORK_SUPPORT_MENU)
489   TITLE:=PPPoL2TP support
490   DEPENDS:=kmod-ppp +kmod-pppoe +LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37:kmod-l2tp
491   KCONFIG:=CONFIG_PPPOL2TP
492   ifneq ($(CONFIG_LINUX_2_6_35)$(CONFIG_LINUX_2_6_36)$(CONFIG_LINUX_2_6_37),)
493     FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
494     AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp)
495   else
496     FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
497     AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
498   endif
499 endef
500
501 define KernelPackage/pppol2tp/description
502   Kernel modules for PPPoL2TP (PPP over L2TP) support
503 endef
504
505 $(eval $(call KernelPackage,pppol2tp))
506
507
508 define KernelPackage/ipoa
509   SUBMENU:=$(NETWORK_SUPPORT_MENU)
510   TITLE:=IPoA support
511   DEPENDS:=kmod-atm
512   KCONFIG:=CONFIG_ATM_CLIP
513   FILES:=$(LINUX_DIR)/net/atm/clip.ko
514   AUTOLOAD:=$(call AutoLoad,40,clip)
515 endef
516
517 define KernelPackage/ipoa/description
518   Kernel modules for IPoA (IP over ATM) support
519 endef
520
521 $(eval $(call KernelPackage,ipoa))
522
523
524 define KernelPackage/mppe
525   SUBMENU:=$(NETWORK_SUPPORT_MENU)
526   TITLE:=Microsoft PPP compression/encryption
527   DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1
528   KCONFIG:= \
529         CONFIG_PPP_MPPE_MPPC \
530         CONFIG_PPP_MPPE
531   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
532   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
533 endef
534
535 define KernelPackage/mppe/description
536  Kernel modules for Microsoft PPP compression/encryption
537 endef
538
539 $(eval $(call KernelPackage,mppe))
540
541
542 define KernelPackage/sched
543   SUBMENU:=$(NETWORK_SUPPORT_MENU)
544   TITLE:=Traffic schedulers
545   KCONFIG:= \
546         CONFIG_NET_SCHED=y \
547         CONFIG_NET_SCH_DSMARK \
548         CONFIG_NET_SCH_ESFQ \
549         CONFIG_NET_SCH_ESFQ_NFCT=y \
550         CONFIG_NET_SCH_FIFO \
551         CONFIG_NET_SCH_GRED \
552         CONFIG_NET_SCH_HFSC \
553         CONFIG_NET_SCH_HTB \
554         CONFIG_NET_SCH_INGRESS \
555         CONFIG_NET_SCH_PRIO \
556         CONFIG_NET_SCH_RED \
557         CONFIG_NET_SCH_TBF \
558         CONFIG_NET_SCH_SFQ \
559         CONFIG_NET_SCH_TEQL \
560         CONFIG_NET_CLS=y \
561         CONFIG_NET_CLS_ACT=y \
562         CONFIG_NET_CLS_BASIC \
563         CONFIG_NET_CLS_FLOW \
564         CONFIG_NET_CLS_FW \
565         CONFIG_NET_CLS_ROUTE4 \
566         CONFIG_NET_CLS_TCINDEX \
567         CONFIG_NET_CLS_U32 \
568         CONFIG_NET_ACT_MIRRED \
569         CONFIG_NET_ACT_IPT \
570         CONFIG_NET_ACT_POLICE \
571         CONFIG_NET_ACT_CONNMARK \
572         CONFIG_NET_ACT_SKBEDIT \
573         CONFIG_NET_EMATCH=y \
574         CONFIG_NET_EMATCH_CMP \
575         CONFIG_NET_EMATCH_NBYTE \
576         CONFIG_NET_EMATCH_U32 \
577         CONFIG_NET_EMATCH_META \
578         CONFIG_NET_EMATCH_TEXT
579   FILES:=$(LINUX_DIR)/net/sched/*.ko
580 endef
581
582 define KernelPackage/sched/description
583  Kernel schedulers for IP traffic
584 endef
585
586 $(eval $(call KernelPackage,sched))
587
588
589 define KernelPackage/ax25
590   SUBMENU:=$(NETWORK_SUPPORT_MENU)
591   TITLE:=AX25 support
592   KCONFIG:= \
593         CONFIG_AX25 \
594         CONFIG_MKISS
595   FILES:= \
596         $(LINUX_DIR)/net/ax25/ax25.ko \
597         $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
598   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
599   $(call AddDepends/crc16)
600 endef
601
602 define KernelPackage/ax25/description
603  Kernel modules for AX25 support
604 endef
605
606 $(eval $(call KernelPackage,ax25))
607
608
609 define KernelPackage/mp-alg
610   SUBMENU:=$(NETWORK_SUPPORT_MENU)
611   TITLE:=ECMP caching algorithms
612   KCONFIG:= \
613         CONFIG_IP_ROUTE_MULTIPATH_RR \
614         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
615         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
616         CONFIG_IP_ROUTE_MULTIPATH_DRR
617   FILES:= \
618         $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
619         $(LINUX_DIR)/net/ipv4/multipath_random.ko \
620         $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
621         $(LINUX_DIR)/net/ipv4/multipath_drr.ko
622   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
623 endef
624
625 define KernelPackage/mp-alg/description
626  Kernel modules that provide several different algorithms for multipath
627  route selection from the route cache. The iproute "mpath" argument allows
628  specifying which algorithm to use for routes.
629  quagga (at least <=0.99.6) requires a multipath patch to support this
630  cached mp route feature.
631 endef
632
633 $(eval $(call KernelPackage,mp-alg))
634
635
636 define KernelPackage/pktgen
637   SUBMENU:=$(NETWORK_SUPPORT_MENU)
638   TITLE:=Network packet generator
639   KCONFIG:=CONFIG_NET_PKTGEN
640   FILES:=$(LINUX_DIR)/net/core/pktgen.ko
641   AUTOLOAD:=$(call AutoLoad,99,pktgen)
642 endef
643
644 define KernelPackage/pktgen/description
645   Kernel modules for the Network Packet Generator
646 endef
647
648 $(eval $(call KernelPackage,pktgen))
649
650 define KernelPackage/l2tp
651   SUBMENU:=$(NETWORK_SUPPORT_MENU)
652   DEPENDS:=@LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37
653   TITLE:=Layer Two Tunneling Protocol (L2TP)
654   KCONFIG:=CONFIG_L2TP \
655         CONFIG_L2TP_V3=y \
656         CONFIG_L2TP_DEBUGFS=n
657   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.$(LINUX_KMOD_SUFFIX) \
658         $(LINUX_DIR)/net/l2tp/l2tp_netlink.$(LINUX_KMOD_SUFFIX)
659   AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
660 endef
661
662 define KernelPackage/l2tp/description
663  Kernel modules for L2TP V3 Support
664 endef
665
666 $(eval $(call KernelPackage,l2tp))
667
668
669 define KernelPackage/l2tp-eth
670   SUBMENU:=$(NETWORK_SUPPORT_MENU)
671   TITLE:=L2TP ethernet pseudowire support for L2TPv3
672   DEPENDS:=+kmod-l2tp
673   KCONFIG:=CONFIG_L2TP_ETH
674   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.$(LINUX_KMOD_SUFFIX) 
675   AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
676 endef
677
678 define KernelPackage/l2tp-eth/description
679  Kernel modules for L2TP ethernet pseudowire support for L2TPv3
680 endef
681
682 $(eval $(call KernelPackage,l2tp-eth))
683
684 define KernelPackage/l2tp-ip
685   SUBMENU:=$(NETWORK_SUPPORT_MENU)
686   TITLE:=L2TP IP encapsulation for L2TPv3
687   DEPENDS:=+kmod-l2tp
688   KCONFIG:=CONFIG_L2TP_IP
689   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.$(LINUX_KMOD_SUFFIX)
690   AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
691 endef
692
693 define KernelPackage/l2tp-ip/description
694  Kernel modules for L2TP IP encapsulation for L2TPv3
695 endef
696
697 $(eval $(call KernelPackage,l2tp-ip))
698
699
700 define KernelPackage/sctp
701   SUBMENU:=$(NETWORK_SUPPORT_MENU)
702   TITLE:=SCTP protocol kernel support
703   KCONFIG:=\
704      CONFIG_IP_SCTP \
705      CONFIG_SCTP_DBG_MSG=n \
706      CONFIG_SCTP_DBG_OBJCNT=n \
707      CONFIG_SCTP_HMAC_NONE=n \
708      CONFIG_SCTP_HMAC_SHA1=n \
709      CONFIG_SCTP_HMAC_MD5=y
710   FILES:= $(LINUX_DIR)/net/sctp/sctp.$(LINUX_KMOD_SUFFIX)
711   AUTOLOAD:= $(call AutoLoad,32,sctp)
712   DEPENDS:=+kmod-libcrc32c +kmod-crypto-md5 +kmod-crypto-hmac
713 endef
714
715 define KernelPackage/sctp/description
716  Kernel modules for SCTP protocol support
717 endef
718
719 $(eval $(call KernelPackage,sctp))
720
721