package: kernel: add handling for 3.2 renames (and some missed ones for 3.1)
[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   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
419     FILES:= \
420         $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
421         $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko \
422         $(LINUX_DIR)/drivers/net/slip/slhc.ko
423   else
424     FILES:= \
425         $(LINUX_DIR)/drivers/net/ppp_async.ko \
426         $(LINUX_DIR)/drivers/net/ppp_generic.ko \
427         $(LINUX_DIR)/drivers/net/slhc.ko
428   endif
429   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
430 endef
431
432 define KernelPackage/ppp/description
433  Kernel modules for PPP support
434 endef
435
436 $(eval $(call KernelPackage,ppp))
437
438
439 define KernelPackage/ppp-synctty
440   SUBMENU:=$(NETWORK_SUPPORT_MENU)
441   TITLE:=PPP sync tty support
442   DEPENDS:=kmod-ppp
443   KCONFIG:=CONFIG_PPP_SYNC_TTY
444   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
445     FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
446   else
447     FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
448   endif
449   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
450 endef
451
452 define KernelPackage/ppp-synctty/description
453  Kernel modules for PPP sync tty support
454 endef
455
456 $(eval $(call KernelPackage,ppp-synctty))
457
458
459 define KernelPackage/pppoe
460   SUBMENU:=$(NETWORK_SUPPORT_MENU)
461   TITLE:=PPPoE support
462   DEPENDS:=kmod-ppp
463   KCONFIG:=CONFIG_PPPOE
464   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
465     FILES:= \
466         $(LINUX_DIR)/drivers/net/ppp/pppoe.ko \
467         $(LINUX_DIR)/drivers/net/ppp/pppox.ko
468   else
469     FILES:= \
470         $(LINUX_DIR)/drivers/net/pppoe.ko \
471         $(LINUX_DIR)/drivers/net/pppox.ko
472   endif
473   AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
474 endef
475
476 define KernelPackage/pppoe/description
477  Kernel modules for PPPoE (PPP over Ethernet) support
478 endef
479
480 $(eval $(call KernelPackage,pppoe))
481
482
483 define KernelPackage/pppoa
484   SUBMENU:=$(NETWORK_SUPPORT_MENU)
485   TITLE:=PPPoA support
486   DEPENDS:=kmod-ppp +kmod-atm
487   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
488   FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
489   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
490 endef
491
492 define KernelPackage/pppoa/description
493  Kernel modules for PPPoA (PPP over ATM) support
494 endef
495
496 $(eval $(call KernelPackage,pppoa))
497
498
499 define KernelPackage/pptp
500   SUBMENU:=$(NETWORK_SUPPORT_MENU)
501   TITLE:=PPtP support
502   DEPENDS:=kmod-ppp +kmod-gre @!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32&&!LINUX_2_6_36
503   KCONFIG:=CONFIG_PPTP
504   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
505     FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
506   else
507     FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
508   endif
509   AUTOLOAD:=$(call AutoLoad,41,pptp)
510 endef
511
512 $(eval $(call KernelPackage,pptp))
513         
514
515 define KernelPackage/pppol2tp
516   SUBMENU:=$(NETWORK_SUPPORT_MENU)
517   TITLE:=PPPoL2TP support
518   DEPENDS:=kmod-ppp +kmod-pppoe +!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32:kmod-l2tp
519   KCONFIG:=CONFIG_PPPOL2TP
520   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1)
521     FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
522     AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp)
523   else
524     FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
525     AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
526   endif
527 endef
528
529 define KernelPackage/pppol2tp/description
530   Kernel modules for PPPoL2TP (PPP over L2TP) support
531 endef
532
533 $(eval $(call KernelPackage,pppol2tp))
534
535
536 define KernelPackage/ipoa
537   SUBMENU:=$(NETWORK_SUPPORT_MENU)
538   TITLE:=IPoA support
539   DEPENDS:=kmod-atm
540   KCONFIG:=CONFIG_ATM_CLIP
541   FILES:=$(LINUX_DIR)/net/atm/clip.ko
542   AUTOLOAD:=$(call AutoLoad,40,clip)
543 endef
544
545 define KernelPackage/ipoa/description
546   Kernel modules for IPoA (IP over ATM) support
547 endef
548
549 $(eval $(call KernelPackage,ipoa))
550
551
552 define KernelPackage/mppe
553   SUBMENU:=$(NETWORK_SUPPORT_MENU)
554   TITLE:=Microsoft PPP compression/encryption
555   DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
556   KCONFIG:= \
557         CONFIG_PPP_MPPE_MPPC \
558         CONFIG_PPP_MPPE
559   ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
560     FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
561   else
562     FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
563   endif
564   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
565 endef
566
567 define KernelPackage/mppe/description
568  Kernel modules for Microsoft PPP compression/encryption
569 endef
570
571 $(eval $(call KernelPackage,mppe))
572
573
574 define KernelPackage/sched
575   SUBMENU:=$(NETWORK_SUPPORT_MENU)
576   TITLE:=Traffic schedulers
577   KCONFIG:= \
578         CONFIG_NET_SCHED=y \
579         CONFIG_NET_SCH_DSMARK \
580         CONFIG_NET_SCH_ESFQ \
581         CONFIG_NET_SCH_ESFQ_NFCT=y \
582         CONFIG_NET_SCH_FIFO \
583         CONFIG_NET_SCH_GRED \
584         CONFIG_NET_SCH_HFSC \
585         CONFIG_NET_SCH_HTB \
586         CONFIG_NET_SCH_INGRESS \
587         CONFIG_NET_SCH_PRIO \
588         CONFIG_NET_SCH_RED \
589         CONFIG_NET_SCH_TBF \
590         CONFIG_NET_SCH_SFQ \
591         CONFIG_NET_SCH_TEQL \
592         CONFIG_NET_CLS=y \
593         CONFIG_NET_CLS_ACT=y \
594         CONFIG_NET_CLS_BASIC \
595         CONFIG_NET_CLS_FLOW \
596         CONFIG_NET_CLS_FW \
597         CONFIG_NET_CLS_ROUTE4 \
598         CONFIG_NET_CLS_TCINDEX \
599         CONFIG_NET_CLS_U32 \
600         CONFIG_NET_ACT_MIRRED \
601         CONFIG_NET_ACT_IPT \
602         CONFIG_NET_ACT_POLICE \
603         CONFIG_NET_ACT_CONNMARK \
604         CONFIG_NET_ACT_SKBEDIT \
605         CONFIG_NET_EMATCH=y \
606         CONFIG_NET_EMATCH_CMP \
607         CONFIG_NET_EMATCH_NBYTE \
608         CONFIG_NET_EMATCH_U32 \
609         CONFIG_NET_EMATCH_META \
610         CONFIG_NET_EMATCH_TEXT
611   FILES:=$(LINUX_DIR)/net/sched/*.ko
612 endef
613
614 define KernelPackage/sched/description
615  Kernel schedulers for IP traffic
616 endef
617
618 $(eval $(call KernelPackage,sched))
619
620
621 define KernelPackage/ax25
622   SUBMENU:=$(NETWORK_SUPPORT_MENU)
623   TITLE:=AX25 support
624   KCONFIG:= \
625         CONFIG_AX25 \
626         CONFIG_MKISS
627   FILES:= \
628         $(LINUX_DIR)/net/ax25/ax25.ko \
629         $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
630   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
631   $(call AddDepends/crc16)
632 endef
633
634 define KernelPackage/ax25/description
635  Kernel modules for AX25 support
636 endef
637
638 $(eval $(call KernelPackage,ax25))
639
640
641 define KernelPackage/mp-alg
642   SUBMENU:=$(NETWORK_SUPPORT_MENU)
643   TITLE:=ECMP caching algorithms
644   KCONFIG:= \
645         CONFIG_IP_ROUTE_MULTIPATH_RR \
646         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
647         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
648         CONFIG_IP_ROUTE_MULTIPATH_DRR
649   FILES:= \
650         $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
651         $(LINUX_DIR)/net/ipv4/multipath_random.ko \
652         $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
653         $(LINUX_DIR)/net/ipv4/multipath_drr.ko
654   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
655 endef
656
657 define KernelPackage/mp-alg/description
658  Kernel modules that provide several different algorithms for multipath
659  route selection from the route cache. The iproute "mpath" argument allows
660  specifying which algorithm to use for routes.
661  quagga (at least <=0.99.6) requires a multipath patch to support this
662  cached mp route feature.
663 endef
664
665 $(eval $(call KernelPackage,mp-alg))
666
667
668 define KernelPackage/pktgen
669   SUBMENU:=$(NETWORK_SUPPORT_MENU)
670   DEPENDS:=@!TARGET_uml
671   TITLE:=Network packet generator
672   KCONFIG:=CONFIG_NET_PKTGEN
673   FILES:=$(LINUX_DIR)/net/core/pktgen.ko
674   AUTOLOAD:=$(call AutoLoad,99,pktgen)
675 endef
676
677 define KernelPackage/pktgen/description
678   Kernel modules for the Network Packet Generator
679 endef
680
681 $(eval $(call KernelPackage,pktgen))
682
683 define KernelPackage/l2tp
684   SUBMENU:=$(NETWORK_SUPPORT_MENU)
685   DEPENDS:=@!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32
686   TITLE:=Layer Two Tunneling Protocol (L2TP)
687   KCONFIG:=CONFIG_L2TP \
688         CONFIG_L2TP_V3=y \
689         CONFIG_L2TP_DEBUGFS=n
690   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
691         $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
692   AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
693 endef
694
695 define KernelPackage/l2tp/description
696  Kernel modules for L2TP V3 Support
697 endef
698
699 $(eval $(call KernelPackage,l2tp))
700
701
702 define KernelPackage/l2tp-eth
703   SUBMENU:=$(NETWORK_SUPPORT_MENU)
704   TITLE:=L2TP ethernet pseudowire support for L2TPv3
705   DEPENDS:=+kmod-l2tp
706   KCONFIG:=CONFIG_L2TP_ETH
707   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
708   AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
709 endef
710
711 define KernelPackage/l2tp-eth/description
712  Kernel modules for L2TP ethernet pseudowire support for L2TPv3
713 endef
714
715 $(eval $(call KernelPackage,l2tp-eth))
716
717 define KernelPackage/l2tp-ip
718   SUBMENU:=$(NETWORK_SUPPORT_MENU)
719   TITLE:=L2TP IP encapsulation for L2TPv3
720   DEPENDS:=+kmod-l2tp
721   KCONFIG:=CONFIG_L2TP_IP
722   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
723   AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
724 endef
725
726 define KernelPackage/l2tp-ip/description
727  Kernel modules for L2TP IP encapsulation for L2TPv3
728 endef
729
730 $(eval $(call KernelPackage,l2tp-ip))
731
732
733 define KernelPackage/sctp
734   SUBMENU:=$(NETWORK_SUPPORT_MENU)
735   TITLE:=SCTP protocol kernel support
736   KCONFIG:=\
737      CONFIG_IP_SCTP \
738      CONFIG_SCTP_DBG_MSG=n \
739      CONFIG_SCTP_DBG_OBJCNT=n \
740      CONFIG_SCTP_HMAC_NONE=n \
741      CONFIG_SCTP_HMAC_SHA1=n \
742      CONFIG_SCTP_HMAC_MD5=y
743   FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
744   AUTOLOAD:= $(call AutoLoad,32,sctp)
745   DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
746 endef
747
748 define KernelPackage/sctp/description
749  Kernel modules for SCTP protocol support
750 endef
751
752 $(eval $(call KernelPackage,sctp))
753
754
755 define KernelPackage/netem
756   SUBMENU:=$(NETWORK_SUPPORT_MENU)
757   TITLE:=Network emulation functionality
758   DEPENDS:=+kmod-sched
759   KCONFIG:=CONFIG_NET_SCH_NETEM
760   FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
761   AUTOLOAD:=$(call AutoLoad,99,netem)
762 endef
763
764 define KernelPackage/netem/description
765   Kernel modules for emulating the properties of wide area networks
766 endef
767
768 $(eval $(call KernelPackage,netem))
769