kernel: kmod-appletalk: fix dependencies
[15.05/openwrt.git] / package / kernel / linux / 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   DEPENDS:=+PACKAGE_kmod-llc:kmod-llc
49   KCONFIG:= \
50         CONFIG_ATALK \
51         CONFIG_DEV_APPLETALK \
52         CONFIG_IPDDP \
53         CONFIG_IPDDP_ENCAP=y \
54         CONFIG_IPDDP_DECAP=y
55   FILES:= \
56         $(LINUX_DIR)/net/appletalk/appletalk.ko \
57         $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
58   AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
59 endef
60
61 define KernelPackage/appletalk/description
62  Kernel module for AppleTalk protocol.
63 endef
64
65 $(eval $(call KernelPackage,appletalk))
66
67
68 define KernelPackage/bonding
69   SUBMENU:=$(NETWORK_SUPPORT_MENU)
70   TITLE:=Ethernet bonding driver
71   KCONFIG:=CONFIG_BONDING
72   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
73   AUTOLOAD:=$(call AutoLoad,40,bonding)
74 endef
75
76 define KernelPackage/bonding/description
77  Kernel module for NIC bonding.
78 endef
79
80 $(eval $(call KernelPackage,bonding))
81
82
83 define KernelPackage/bridge
84   SUBMENU:=$(NETWORK_SUPPORT_MENU)
85   TITLE:=Ethernet bridging support
86   DEPENDS:=+kmod-stp
87   KCONFIG:= \
88         CONFIG_BRIDGE \
89         CONFIG_BRIDGE_IGMP_SNOOPING=y
90   FILES:=$(LINUX_DIR)/net/bridge/bridge.ko
91   AUTOLOAD:=$(call AutoLoad,11,bridge)
92 endef
93
94 define KernelPackage/bridge/description
95  Kernel module for Ethernet bridging.
96 endef
97
98 $(eval $(call KernelPackage,bridge))
99
100 define KernelPackage/llc
101   SUBMENU:=$(NETWORK_SUPPORT_MENU)
102   TITLE:=ANSI/IEEE 802.2 LLC support
103   KCONFIG:=CONFIG_LLC
104   FILES:= \
105         $(LINUX_DIR)/net/llc/llc.ko \
106         $(LINUX_DIR)/net/802/p8022.ko \
107         $(LINUX_DIR)/net/802/psnap.ko
108   AUTOLOAD:=$(call AutoLoad,09,llc p8022 psnap)
109 endef
110
111 define KernelPackage/llc/description
112  Kernel module for ANSI/IEEE 802.2 LLC support.
113 endef
114
115 $(eval $(call KernelPackage,llc))
116
117 define KernelPackage/stp
118   SUBMENU:=$(NETWORK_SUPPORT_MENU)
119   TITLE:=Ethernet Spanning Tree Protocol support
120   DEPENDS:=+kmod-llc
121   KCONFIG:=CONFIG_STP
122   FILES:=$(LINUX_DIR)/net/802/stp.ko
123   AUTOLOAD:=$(call AutoLoad,10,stp)
124 endef
125
126 define KernelPackage/stp/description
127  Kernel module for Ethernet Spanning Tree Protocol support.
128 endef
129
130 $(eval $(call KernelPackage,stp))
131
132 define KernelPackage/8021q
133   SUBMENU:=$(NETWORK_SUPPORT_MENU)
134   TITLE:=802.1Q VLAN support
135   KCONFIG:=CONFIG_VLAN_8021Q \
136                 CONFIG_VLAN_8021Q_GVRP=n
137   FILES:=$(LINUX_DIR)/net/8021q/8021q.ko
138   AUTOLOAD:=$(call AutoLoad,12,8021q)
139 endef
140
141 define KernelPackage/8021q/description
142  Kernel module for 802.1Q VLAN support
143 endef
144
145 $(eval $(call KernelPackage,8021q))
146
147
148 define KernelPackage/capi
149   SUBMENU:=$(NETWORK_SUPPORT_MENU)
150   TITLE:=CAPI (ISDN) Support
151   KCONFIG:= \
152         CONFIG_ISDN_CAPI \
153         CONFIG_ISDN_CAPI_CAPI20 \
154         CONFIG_ISDN_CAPIFS \
155         CONFIG_ISDN_CAPI_CAPIFS
156   FILES:= \
157         $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
158         $(LINUX_DIR)/drivers/isdn/capi/capi.ko
159   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
160 endef
161
162 define KernelPackage/capi/description
163  Kernel module for basic CAPI (ISDN) support
164 endef
165
166 $(eval $(call KernelPackage,capi))
167
168 define KernelPackage/misdn
169   SUBMENU:=$(NETWORK_SUPPORT_MENU)
170   TITLE:=mISDN (ISDN) Support
171   KCONFIG:= \
172         CONFIG_ISDN=y \
173         CONFIG_MISDN \
174         CONFIG_MISDN_DSP \
175         CONFIG_MISDN_L1OIP
176   FILES:= \
177         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
178         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
179         $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
180   AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
181 endef
182
183 define KernelPackage/misdn/description
184   Modular ISDN driver support
185 endef
186
187 $(eval $(call KernelPackage,misdn))
188
189
190 define KernelPackage/isdn4linux
191   SUBMENU:=$(NETWORK_SUPPORT_MENU)
192   TITLE:=Old ISDN4Linux (deprecated)
193   DEPENDS:=+kmod-ppp
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-iptunnel +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         $(if $(CONFIG_LINUX_3_3),,xfrm/xfrm_algo) \
240         xfrm/xfrm_ipcomp \
241         xfrm/xfrm_user \
242         key/af_key \
243
244 define KernelPackage/ipsec
245   SUBMENU:=$(NETWORK_SUPPORT_MENU)
246   TITLE:=IPsec related modules (IPv4 and IPv6)
247   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
248   KCONFIG:= \
249         CONFIG_NET_KEY \
250         CONFIG_XFRM_USER \
251         CONFIG_INET_IPCOMP \
252         CONFIG_XFRM_IPCOMP
253   FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
254   AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
255 endef
256
257 define KernelPackage/ipsec/description
258  Kernel modules for IPsec support in both IPv4 and IPv6.
259  Includes:
260  - af_key
261  - xfrm_ipcomp
262  - xfrm_user
263 endef
264
265 $(eval $(call KernelPackage,ipsec))
266
267
268 IPSEC4-m:= \
269         ipv4/ah4 \
270         ipv4/esp4 \
271         ipv4/xfrm4_mode_beet \
272         ipv4/xfrm4_mode_transport \
273         ipv4/xfrm4_mode_tunnel \
274         ipv4/xfrm4_tunnel \
275         ipv4/ipcomp \
276
277 define KernelPackage/ipsec4
278   SUBMENU:=$(NETWORK_SUPPORT_MENU)
279   TITLE:=IPsec related modules (IPv4)
280   DEPENDS:=kmod-ipsec +kmod-iptunnel4
281   KCONFIG:= \
282         CONFIG_INET_AH \
283         CONFIG_INET_ESP \
284         CONFIG_INET_IPCOMP \
285         CONFIG_INET_XFRM_MODE_BEET \
286         CONFIG_INET_XFRM_MODE_TRANSPORT \
287         CONFIG_INET_XFRM_MODE_TUNNEL \
288         CONFIG_INET_XFRM_TUNNEL
289   FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
290   AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
291 endef
292
293 define KernelPackage/ipsec4/description
294  Kernel modules for IPsec support in IPv4.
295  Includes:
296  - ah4
297  - esp4
298  - ipcomp4
299  - xfrm4_mode_beet
300  - xfrm4_mode_transport
301  - xfrm4_mode_tunnel
302  - xfrm4_tunnel
303 endef
304
305 $(eval $(call KernelPackage,ipsec4))
306
307
308 IPSEC6-m:= \
309         ipv6/ah6 \
310         ipv6/esp6 \
311         ipv6/xfrm6_mode_beet \
312         ipv6/xfrm6_mode_transport \
313         ipv6/xfrm6_mode_tunnel \
314         ipv6/xfrm6_tunnel \
315         ipv6/ipcomp6 \
316
317 define KernelPackage/ipsec6
318   SUBMENU:=$(NETWORK_SUPPORT_MENU)
319   TITLE:=IPsec related modules (IPv6)
320   DEPENDS:=kmod-ipsec +kmod-iptunnel6
321   KCONFIG:= \
322         CONFIG_INET6_AH \
323         CONFIG_INET6_ESP \
324         CONFIG_INET6_IPCOMP \
325         CONFIG_INET6_XFRM_MODE_BEET \
326         CONFIG_INET6_XFRM_MODE_TRANSPORT \
327         CONFIG_INET6_XFRM_MODE_TUNNEL \
328         CONFIG_INET6_XFRM_TUNNEL
329   FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
330   AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
331 endef
332
333 define KernelPackage/ipsec6/description
334  Kernel modules for IPsec support in IPv6.
335  Includes:
336  - ah6
337  - esp6
338  - ipcomp6
339  - xfrm6_mode_beet
340  - xfrm6_mode_transport
341  - xfrm6_mode_tunnel
342  - xfrm6_tunnel
343 endef
344
345 $(eval $(call KernelPackage,ipsec6))
346
347
348 define KernelPackage/iptunnel
349   SUBMENU:=$(NETWORK_SUPPORT_MENU)
350   TITLE:=IP tunnel support
351   HIDDEN:=1
352   KCONFIG:= \
353         CONFIG_NET_IP_TUNNEL
354   FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
355   AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
356 endef
357
358 define KernelPackage/iptunnel/description
359  Kernel module for generic IP tunnel support
360 endef
361
362 $(eval $(call KernelPackage,iptunnel))
363
364
365 define KernelPackage/iptunnel4
366   SUBMENU:=$(NETWORK_SUPPORT_MENU)
367   TITLE:=IPv4 tunneling
368   HIDDEN:=1
369   KCONFIG:= \
370         CONFIG_INET_TUNNEL
371   FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
372   AUTOLOAD:=$(call AutoLoad,31,tunnel4)
373 endef
374
375 define KernelPackage/iptunnel4/description
376  Kernel modules for IPv4 tunneling
377 endef
378
379 $(eval $(call KernelPackage,iptunnel4))
380
381
382 define KernelPackage/iptunnel6
383   SUBMENU:=$(NETWORK_SUPPORT_MENU)
384   TITLE:=IPv6 tunneling
385   DEPENDS:= +kmod-ipv6
386   KCONFIG:= \
387         CONFIG_INET6_TUNNEL
388   FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
389   AUTOLOAD:=$(call AutoLoad,31,tunnel6)
390 endef
391
392 define KernelPackage/iptunnel6/description
393  Kernel modules for IPv6 tunneling
394 endef
395
396 $(eval $(call KernelPackage,iptunnel6))
397
398
399 define KernelPackage/ipv6
400   SUBMENU:=$(NETWORK_SUPPORT_MENU)
401   TITLE:=IPv6 support
402   KCONFIG:= \
403         CONFIG_IPV6 \
404         CONFIG_IPV6_PRIVACY=y \
405         CONFIG_IPV6_MULTIPLE_TABLES=y \
406         CONFIG_IPV6_MROUTE=y \
407         CONFIG_IPV6_PIMSM_V2=n \
408         CONFIG_IPV6_SUBTREES=y
409   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
410   AUTOLOAD:=$(call AutoLoad,20,ipv6)
411 endef
412
413 define KernelPackage/ipv6/description
414  Kernel modules for IPv6 support
415 endef
416
417 $(eval $(call KernelPackage,ipv6))
418
419
420 define KernelPackage/sit
421   SUBMENU:=$(NETWORK_SUPPORT_MENU)
422   DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-iptunnel4
423   TITLE:=IPv6-in-IPv4 tunnel
424   KCONFIG:=CONFIG_IPV6_SIT \
425         CONFIG_IPV6_SIT_6RD=y
426   FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
427   AUTOLOAD:=$(call AutoLoad,32,sit)
428 endef
429
430 define KernelPackage/sit/description
431  Kernel modules for IPv6-in-IPv4 tunnelling
432 endef
433
434 $(eval $(call KernelPackage,sit))
435
436
437 define KernelPackage/ip6-tunnel
438   SUBMENU:=$(NETWORK_SUPPORT_MENU)
439   TITLE:=IP-in-IPv6 tunnelling
440   DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
441   KCONFIG:= CONFIG_IPV6_TUNNEL
442   FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
443   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
444 endef
445
446 define KernelPackage/ip6-tunnel/description
447  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
448 endef
449
450 $(eval $(call KernelPackage,ip6-tunnel))
451
452
453 define KernelPackage/gre
454   SUBMENU:=$(NETWORK_SUPPORT_MENU)
455   TITLE:=GRE support
456   DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6 +kmod-iptunnel
457   KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
458   FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
459   AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
460 endef
461
462 define KernelPackage/gre/description
463  Generic Routing Encapsulation support
464 endef
465
466 $(eval $(call KernelPackage,gre))
467
468
469 define KernelPackage/gre6
470   SUBMENU:=$(NETWORK_SUPPORT_MENU)
471   TITLE:=GRE support over IPV6
472   DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-ip6-tunnel @!LINUX_3_3 @!LINUX_3_6
473   KCONFIG:=CONFIG_IPV6_GRE
474   FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
475   AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
476 endef
477
478 define KernelPackage/gre6/description
479  Generic Routing Encapsulation support over IPv6
480 endef
481
482 $(eval $(call KernelPackage,gre6))
483
484
485 define KernelPackage/tun
486   SUBMENU:=$(NETWORK_SUPPORT_MENU)
487   TITLE:=Universal TUN/TAP driver
488   KCONFIG:=CONFIG_TUN
489   FILES:=$(LINUX_DIR)/drivers/net/tun.ko
490   AUTOLOAD:=$(call AutoLoad,30,tun)
491 endef
492
493 define KernelPackage/tun/description
494  Kernel support for the TUN/TAP tunneling device
495 endef
496
497 $(eval $(call KernelPackage,tun))
498
499
500 define KernelPackage/veth
501   SUBMENU:=$(NETWORK_SUPPORT_MENU)
502   TITLE:=Virtual ethernet pair device
503   KCONFIG:=CONFIG_VETH
504   FILES:=$(LINUX_DIR)/drivers/net/veth.ko
505   AUTOLOAD:=$(call AutoLoad,30,veth)
506 endef
507
508 define KernelPackage/veth/description
509  This device is a local ethernet tunnel. Devices are created in pairs.
510  When one end receives the packet it appears on its pair and vice
511  versa.
512 endef
513
514 $(eval $(call KernelPackage,veth))
515
516
517 define KernelPackage/slhc
518   SUBMENU:=$(NETWORK_SUPPORT_MENU)
519   HIDDEN:=1
520   TITLE:=Serial Line Header Compression
521   DEPENDS:=+kmod-lib-crc-ccitt
522   KCONFIG:=CONFIG_SLHC
523   FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
524   AUTOLOAD:=$(call AutoLoad,29,slhc)
525 endef
526
527 $(eval $(call KernelPackage,slhc))
528
529
530 define KernelPackage/ppp
531   SUBMENU:=$(NETWORK_SUPPORT_MENU)
532   TITLE:=PPP modules
533   DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
534   KCONFIG:= \
535         CONFIG_PPP \
536         CONFIG_PPP_ASYNC
537   FILES:= \
538         $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
539         $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
540   AUTOLOAD:=$(call AutoLoad,30,ppp_generic ppp_async)
541 endef
542
543 define KernelPackage/ppp/description
544  Kernel modules for PPP support
545 endef
546
547 $(eval $(call KernelPackage,ppp))
548
549
550 define KernelPackage/ppp-synctty
551   SUBMENU:=$(NETWORK_SUPPORT_MENU)
552   TITLE:=PPP sync tty support
553   DEPENDS:=kmod-ppp
554   KCONFIG:=CONFIG_PPP_SYNC_TTY
555   FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
556   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
557 endef
558
559 define KernelPackage/ppp-synctty/description
560  Kernel modules for PPP sync tty support
561 endef
562
563 $(eval $(call KernelPackage,ppp-synctty))
564
565
566 define KernelPackage/pppox
567   SUBMENU:=$(NETWORK_SUPPORT_MENU)
568   TITLE:=PPPoX helper
569   DEPENDS:=kmod-ppp
570   KCONFIG:=CONFIG_PPPOE
571   FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
572   AUTOLOAD:=$(call AutoLoad,40,pppox)
573 endef
574
575 define KernelPackage/pppox/description
576  Kernel helper module for PPPoE and PPTP support
577 endef
578
579 $(eval $(call KernelPackage,pppox))
580
581
582 define KernelPackage/pppoe
583   SUBMENU:=$(NETWORK_SUPPORT_MENU)
584   TITLE:=PPPoE support
585   DEPENDS:=kmod-ppp +kmod-pppox
586   KCONFIG:=CONFIG_PPPOE
587   FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
588   AUTOLOAD:=$(call AutoLoad,41,pppoe)
589 endef
590
591 define KernelPackage/pppoe/description
592  Kernel module for PPPoE (PPP over Ethernet) support
593 endef
594
595 $(eval $(call KernelPackage,pppoe))
596
597
598 define KernelPackage/pppoa
599   SUBMENU:=$(NETWORK_SUPPORT_MENU)
600   TITLE:=PPPoA support
601   DEPENDS:=kmod-ppp +kmod-atm
602   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
603   FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
604   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
605 endef
606
607 define KernelPackage/pppoa/description
608  Kernel modules for PPPoA (PPP over ATM) support
609 endef
610
611 $(eval $(call KernelPackage,pppoa))
612
613
614 define KernelPackage/pptp
615   SUBMENU:=$(NETWORK_SUPPORT_MENU)
616   TITLE:=PPtP support
617   DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
618   KCONFIG:=CONFIG_PPTP
619   FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
620   AUTOLOAD:=$(call AutoLoad,41,pptp)
621 endef
622
623 $(eval $(call KernelPackage,pptp))
624
625
626 define KernelPackage/pppol2tp
627   SUBMENU:=$(NETWORK_SUPPORT_MENU)
628   TITLE:=PPPoL2TP support
629   DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
630   KCONFIG:=CONFIG_PPPOL2TP
631   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
632   AUTOLOAD:=$(call AutoLoad,41,l2tp_ppp)
633 endef
634
635 define KernelPackage/pppol2tp/description
636   Kernel modules for PPPoL2TP (PPP over L2TP) support
637 endef
638
639 $(eval $(call KernelPackage,pppol2tp))
640
641
642 define KernelPackage/ipoa
643   SUBMENU:=$(NETWORK_SUPPORT_MENU)
644   TITLE:=IPoA support
645   DEPENDS:=kmod-atm
646   KCONFIG:=CONFIG_ATM_CLIP
647   FILES:=$(LINUX_DIR)/net/atm/clip.ko
648   AUTOLOAD:=$(call AutoLoad,40,clip)
649 endef
650
651 define KernelPackage/ipoa/description
652   Kernel modules for IPoA (IP over ATM) support
653 endef
654
655 $(eval $(call KernelPackage,ipoa))
656
657
658 define KernelPackage/mppe
659   SUBMENU:=$(NETWORK_SUPPORT_MENU)
660   TITLE:=Microsoft PPP compression/encryption
661   DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
662   KCONFIG:= \
663         CONFIG_PPP_MPPE_MPPC \
664         CONFIG_PPP_MPPE
665   FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
666   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
667 endef
668
669 define KernelPackage/mppe/description
670  Kernel modules for Microsoft PPP compression/encryption
671 endef
672
673 $(eval $(call KernelPackage,mppe))
674
675
676 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
677 SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit
678 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
679 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
680 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
681 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
682
683 define KernelPackage/sched-core
684   SUBMENU:=$(NETWORK_SUPPORT_MENU)
685   TITLE:=Traffic schedulers
686   KCONFIG:= \
687         CONFIG_NET_SCHED=y \
688         CONFIG_NET_SCH_HFSC \
689         CONFIG_NET_SCH_INGRESS \
690         CONFIG_NET_SCH_FQ_CODEL \
691         CONFIG_NET_CLS=y \
692         CONFIG_NET_CLS_ACT=y \
693         CONFIG_NET_CLS_FLOW \
694         CONFIG_NET_CLS_FW \
695         CONFIG_NET_CLS_ROUTE4 \
696         CONFIG_NET_CLS_TCINDEX \
697         CONFIG_NET_CLS_U32 \
698         CONFIG_NET_ACT_MIRRED \
699         CONFIG_NET_ACT_SKBEDIT \
700         CONFIG_NET_EMATCH=y \
701         CONFIG_NET_EMATCH_U32
702   FILES:=$(SCHED_FILES)
703   AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
704 endef
705
706 define KernelPackage/sched-core/description
707  Core kernel scheduler support for IP traffic
708 endef
709
710 $(eval $(call KernelPackage,sched-core))
711
712
713 define KernelPackage/sched-connmark
714   SUBMENU:=$(NETWORK_SUPPORT_MENU)
715   TITLE:=Traffic shaper conntrack mark support
716   DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
717   KCONFIG:=CONFIG_NET_ACT_CONNMARK
718   FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
719   AUTOLOAD:=$(call AutoLoad,71, act_connmark)
720 endef
721 $(eval $(call KernelPackage,sched-connmark))
722
723 define KernelPackage/sched-esfq
724   SUBMENU:=$(NETWORK_SUPPORT_MENU)
725   TITLE:=Traffic shaper ESFQ support
726   DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack
727   KCONFIG:= \
728         CONFIG_NET_SCH_ESFQ \
729         CONFIG_NET_SCH_ESFQ_NFCT=y
730   FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
731   AUTOLOAD:=$(call AutoLoad,72, sch_esfq)
732 endef
733 $(eval $(call KernelPackage,sched-esfq))
734
735 define KernelPackage/sched
736   SUBMENU:=$(NETWORK_SUPPORT_MENU)
737   TITLE:=Extra traffic schedulers
738   DEPENDS:=+kmod-sched-core +kmod-ipt-core
739   KCONFIG:= \
740         CONFIG_NET_SCH_CODEL \
741         CONFIG_NET_SCH_DSMARK \
742         CONFIG_NET_SCH_HTB \
743         CONFIG_NET_SCH_FIFO \
744         CONFIG_NET_SCH_GRED \
745         CONFIG_NET_SCH_PRIO \
746         CONFIG_NET_SCH_RED \
747         CONFIG_NET_SCH_TBF \
748         CONFIG_NET_SCH_SFQ \
749         CONFIG_NET_SCH_TEQL \
750         CONFIG_NET_CLS_BASIC \
751         CONFIG_NET_ACT_POLICE \
752         CONFIG_NET_ACT_IPT \
753         CONFIG_NET_EMATCH_CMP \
754         CONFIG_NET_EMATCH_NBYTE \
755         CONFIG_NET_EMATCH_META \
756         CONFIG_NET_EMATCH_TEXT
757   FILES:=$(SCHED_FILES_EXTRA)
758   AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
759 endef
760
761 define KernelPackage/sched/description
762  Extra kernel schedulers modules for IP traffic
763 endef
764
765 $(eval $(call KernelPackage,sched))
766
767
768 define KernelPackage/ax25
769   SUBMENU:=$(NETWORK_SUPPORT_MENU)
770   TITLE:=AX25 support
771   KCONFIG:= \
772         CONFIG_AX25 \
773         CONFIG_MKISS
774   FILES:= \
775         $(LINUX_DIR)/net/ax25/ax25.ko \
776         $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
777   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
778   $(call AddDepends/crc16)
779 endef
780
781 define KernelPackage/ax25/description
782  Kernel modules for AX25 support
783 endef
784
785 $(eval $(call KernelPackage,ax25))
786
787
788 define KernelPackage/mp-alg
789   SUBMENU:=$(NETWORK_SUPPORT_MENU)
790   TITLE:=ECMP caching algorithms
791   KCONFIG:= \
792         CONFIG_IP_ROUTE_MULTIPATH_RR \
793         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
794         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
795         CONFIG_IP_ROUTE_MULTIPATH_DRR
796   FILES:= \
797         $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
798         $(LINUX_DIR)/net/ipv4/multipath_random.ko \
799         $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
800         $(LINUX_DIR)/net/ipv4/multipath_drr.ko
801   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
802 endef
803
804 define KernelPackage/mp-alg/description
805  Kernel modules that provide several different algorithms for multipath
806  route selection from the route cache. The iproute "mpath" argument allows
807  specifying which algorithm to use for routes.
808  quagga (at least <=0.99.6) requires a multipath patch to support this
809  cached mp route feature.
810 endef
811
812 $(eval $(call KernelPackage,mp-alg))
813
814
815 define KernelPackage/pktgen
816   SUBMENU:=$(NETWORK_SUPPORT_MENU)
817   DEPENDS:=@!TARGET_uml
818   TITLE:=Network packet generator
819   KCONFIG:=CONFIG_NET_PKTGEN
820   FILES:=$(LINUX_DIR)/net/core/pktgen.ko
821   AUTOLOAD:=$(call AutoLoad,99,pktgen)
822 endef
823
824 define KernelPackage/pktgen/description
825   Kernel modules for the Network Packet Generator
826 endef
827
828 $(eval $(call KernelPackage,pktgen))
829
830 define KernelPackage/l2tp
831   SUBMENU:=$(NETWORK_SUPPORT_MENU)
832   TITLE:=Layer Two Tunneling Protocol (L2TP)
833   DEPENDS:=+IPV6:kmod-ipv6
834   KCONFIG:=CONFIG_L2TP \
835         CONFIG_L2TP_V3=y \
836         CONFIG_L2TP_DEBUGFS=n
837   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
838         $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
839   AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
840 endef
841
842 define KernelPackage/l2tp/description
843  Kernel modules for L2TP V3 Support
844 endef
845
846 $(eval $(call KernelPackage,l2tp))
847
848
849 define KernelPackage/l2tp-eth
850   SUBMENU:=$(NETWORK_SUPPORT_MENU)
851   TITLE:=L2TP ethernet pseudowire support for L2TPv3
852   DEPENDS:=+kmod-l2tp
853   KCONFIG:=CONFIG_L2TP_ETH
854   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
855   AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
856 endef
857
858 define KernelPackage/l2tp-eth/description
859  Kernel modules for L2TP ethernet pseudowire support for L2TPv3
860 endef
861
862 $(eval $(call KernelPackage,l2tp-eth))
863
864 define KernelPackage/l2tp-ip
865   SUBMENU:=$(NETWORK_SUPPORT_MENU)
866   TITLE:=L2TP IP encapsulation for L2TPv3
867   DEPENDS:=+kmod-l2tp
868   KCONFIG:=CONFIG_L2TP_IP
869   FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
870   AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
871 endef
872
873 define KernelPackage/l2tp-ip/description
874  Kernel modules for L2TP IP encapsulation for L2TPv3
875 endef
876
877 $(eval $(call KernelPackage,l2tp-ip))
878
879
880 define KernelPackage/sctp
881   SUBMENU:=$(NETWORK_SUPPORT_MENU)
882   TITLE:=SCTP protocol kernel support
883   KCONFIG:=\
884      CONFIG_IP_SCTP \
885      CONFIG_SCTP_DBG_MSG=n \
886      CONFIG_SCTP_DBG_OBJCNT=n \
887      CONFIG_SCTP_HMAC_NONE=n \
888      CONFIG_SCTP_HMAC_SHA1=n \
889      CONFIG_SCTP_HMAC_MD5=y \
890      CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
891      CONFIG_SCTP_COOKIE_HMAC_MD5=y \
892      CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
893      CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
894      CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
895   FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
896   AUTOLOAD:= $(call AutoLoad,32,sctp)
897   DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac +IPV6:kmod-ipv6
898 endef
899
900 define KernelPackage/sctp/description
901  Kernel modules for SCTP protocol support
902 endef
903
904 $(eval $(call KernelPackage,sctp))
905
906
907 define KernelPackage/netem
908   SUBMENU:=$(NETWORK_SUPPORT_MENU)
909   TITLE:=Network emulation functionality
910   DEPENDS:=+kmod-sched
911   KCONFIG:=CONFIG_NET_SCH_NETEM
912   FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
913   AUTOLOAD:=$(call AutoLoad,99,netem)
914 endef
915
916 define KernelPackage/netem/description
917   Kernel modules for emulating the properties of wide area networks
918 endef
919
920 $(eval $(call KernelPackage,netem))
921
922 define KernelPackage/slip
923   SUBMENU:=$(NETWORK_SUPPORT_MENU)
924   DEPENDS:=+kmod-slhc
925   TITLE:=SLIP modules
926   KCONFIG:= \
927        CONFIG_SLIP \
928        CONFIG_SLIP_COMPRESSED=y \
929        CONFIG_SLIP_SMART=y \
930        CONFIG_SLIP_MODE_SLIP6=y
931
932   FILES:= \
933        $(LINUX_DIR)/drivers/net/slip/slip.ko
934   AUTOLOAD:=$(call AutoLoad,30,slip)
935 endef
936
937 define KernelPackage/slip/description
938  Kernel modules for SLIP support
939 endef
940
941 $(eval $(call KernelPackage,slip))
942