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