[package] i2c-gpio-mux: fix build for 3.6+ kernels
[openwrt/svn-archive/archive.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