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