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