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