fuse: move kmod-fuse to package/kernel
[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 - ipcomp
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/pppoe
501 SUBMENU:=$(NETWORK_SUPPORT_MENU)
502 TITLE:=PPPoE support
503 DEPENDS:=kmod-ppp
504 KCONFIG:=CONFIG_PPPOE
505 FILES:= \
506 $(LINUX_DIR)/drivers/net/ppp/pppoe.ko \
507 $(LINUX_DIR)/drivers/net/ppp/pppox.ko
508 AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
509 endef
510
511 define KernelPackage/pppoe/description
512 Kernel modules for PPPoE (PPP over Ethernet) support
513 endef
514
515 $(eval $(call KernelPackage,pppoe))
516
517
518 define KernelPackage/pppoa
519 SUBMENU:=$(NETWORK_SUPPORT_MENU)
520 TITLE:=PPPoA support
521 DEPENDS:=kmod-ppp +kmod-atm
522 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
523 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
524 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
525 endef
526
527 define KernelPackage/pppoa/description
528 Kernel modules for PPPoA (PPP over ATM) support
529 endef
530
531 $(eval $(call KernelPackage,pppoa))
532
533
534 define KernelPackage/pptp
535 SUBMENU:=$(NETWORK_SUPPORT_MENU)
536 TITLE:=PPtP support
537 DEPENDS:=kmod-ppp +kmod-gre
538 KCONFIG:=CONFIG_PPTP
539 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
540 AUTOLOAD:=$(call AutoLoad,41,pptp)
541 endef
542
543 $(eval $(call KernelPackage,pptp))
544
545
546 define KernelPackage/pppol2tp
547 SUBMENU:=$(NETWORK_SUPPORT_MENU)
548 TITLE:=PPPoL2TP support
549 DEPENDS:=kmod-ppp +kmod-pppoe +kmod-l2tp
550 KCONFIG:=CONFIG_PPPOL2TP
551 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
552 AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp)
553 endef
554
555 define KernelPackage/pppol2tp/description
556 Kernel modules for PPPoL2TP (PPP over L2TP) support
557 endef
558
559 $(eval $(call KernelPackage,pppol2tp))
560
561
562 define KernelPackage/ipoa
563 SUBMENU:=$(NETWORK_SUPPORT_MENU)
564 TITLE:=IPoA support
565 DEPENDS:=kmod-atm
566 KCONFIG:=CONFIG_ATM_CLIP
567 FILES:=$(LINUX_DIR)/net/atm/clip.ko
568 AUTOLOAD:=$(call AutoLoad,40,clip)
569 endef
570
571 define KernelPackage/ipoa/description
572 Kernel modules for IPoA (IP over ATM) support
573 endef
574
575 $(eval $(call KernelPackage,ipoa))
576
577
578 define KernelPackage/mppe
579 SUBMENU:=$(NETWORK_SUPPORT_MENU)
580 TITLE:=Microsoft PPP compression/encryption
581 DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
582 KCONFIG:= \
583 CONFIG_PPP_MPPE_MPPC \
584 CONFIG_PPP_MPPE
585 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
586 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
587 endef
588
589 define KernelPackage/mppe/description
590 Kernel modules for Microsoft PPP compression/encryption
591 endef
592
593 $(eval $(call KernelPackage,mppe))
594
595
596 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
597 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
598 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
599 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
600 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
601 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
602
603 define KernelPackage/sched-core
604 SUBMENU:=$(NETWORK_SUPPORT_MENU)
605 TITLE:=Traffic schedulers
606 KCONFIG:= \
607 CONFIG_NET_SCHED=y \
608 CONFIG_NET_SCH_HFSC \
609 CONFIG_NET_SCH_INGRESS \
610 CONFIG_NET_SCH_CODEL \
611 CONFIG_NET_SCH_FQ_CODEL \
612 CONFIG_NET_CLS=y \
613 CONFIG_NET_CLS_ACT=y \
614 CONFIG_NET_CLS_FLOW \
615 CONFIG_NET_CLS_FW \
616 CONFIG_NET_CLS_ROUTE4 \
617 CONFIG_NET_CLS_TCINDEX \
618 CONFIG_NET_CLS_U32 \
619 CONFIG_NET_ACT_MIRRED \
620 CONFIG_NET_ACT_SKBEDIT \
621 CONFIG_NET_EMATCH=y \
622 CONFIG_NET_EMATCH_U32
623 FILES:=$(SCHED_FILES)
624 endef
625
626 define KernelPackage/sched-core/description
627 Core kernel scheduler support for IP traffic
628 endef
629
630 $(eval $(call KernelPackage,sched-core))
631
632
633 define KernelPackage/sched-connmark
634 SUBMENU:=$(NETWORK_SUPPORT_MENU)
635 TITLE:=Traffic shaper conntrack mark support
636 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
637 KCONFIG:=CONFIG_NET_ACT_CONNMARK
638 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
639 endef
640 $(eval $(call KernelPackage,sched-connmark))
641
642 define KernelPackage/sched-esfq
643 SUBMENU:=$(NETWORK_SUPPORT_MENU)
644 TITLE:=Traffic shaper ESFQ support
645 DEPENDS:=+kmod-sched-core +kmod-ipt-core
646 KCONFIG:= \
647 CONFIG_NET_SCH_ESFQ \
648 CONFIG_NET_SCH_ESFQ_NFCT=y
649 FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
650 endef
651 $(eval $(call KernelPackage,sched-esfq))
652
653 define KernelPackage/sched
654 SUBMENU:=$(NETWORK_SUPPORT_MENU)
655 TITLE:=Extra traffic schedulers
656 DEPENDS:=+kmod-sched-core
657 KCONFIG:= \
658 CONFIG_NET_SCH_DSMARK \
659 CONFIG_NET_SCH_HTB \
660 CONFIG_NET_SCH_FIFO \
661 CONFIG_NET_SCH_GRED \
662 CONFIG_NET_SCH_PRIO \
663 CONFIG_NET_SCH_RED \
664 CONFIG_NET_SCH_TBF \
665 CONFIG_NET_SCH_SFQ \
666 CONFIG_NET_SCH_TEQL \
667 CONFIG_NET_CLS_BASIC \
668 CONFIG_NET_ACT_POLICE \
669 CONFIG_NET_ACT_IPT \
670 CONFIG_NET_EMATCH_CMP \
671 CONFIG_NET_EMATCH_NBYTE \
672 CONFIG_NET_EMATCH_META \
673 CONFIG_NET_EMATCH_TEXT
674 FILES:=$(SCHED_FILES_EXTRA)
675 endef
676
677 define KernelPackage/sched/description
678 Extra kernel schedulers modules for IP traffic
679 endef
680
681 $(eval $(call KernelPackage,sched))
682
683
684 define KernelPackage/ax25
685 SUBMENU:=$(NETWORK_SUPPORT_MENU)
686 TITLE:=AX25 support
687 KCONFIG:= \
688 CONFIG_AX25 \
689 CONFIG_MKISS
690 FILES:= \
691 $(LINUX_DIR)/net/ax25/ax25.ko \
692 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
693 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
694 $(call AddDepends/crc16)
695 endef
696
697 define KernelPackage/ax25/description
698 Kernel modules for AX25 support
699 endef
700
701 $(eval $(call KernelPackage,ax25))
702
703
704 define KernelPackage/mp-alg
705 SUBMENU:=$(NETWORK_SUPPORT_MENU)
706 TITLE:=ECMP caching algorithms
707 KCONFIG:= \
708 CONFIG_IP_ROUTE_MULTIPATH_RR \
709 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
710 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
711 CONFIG_IP_ROUTE_MULTIPATH_DRR
712 FILES:= \
713 $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
714 $(LINUX_DIR)/net/ipv4/multipath_random.ko \
715 $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
716 $(LINUX_DIR)/net/ipv4/multipath_drr.ko
717 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
718 endef
719
720 define KernelPackage/mp-alg/description
721 Kernel modules that provide several different algorithms for multipath
722 route selection from the route cache. The iproute "mpath" argument allows
723 specifying which algorithm to use for routes.
724 quagga (at least <=0.99.6) requires a multipath patch to support this
725 cached mp route feature.
726 endef
727
728 $(eval $(call KernelPackage,mp-alg))
729
730
731 define KernelPackage/pktgen
732 SUBMENU:=$(NETWORK_SUPPORT_MENU)
733 DEPENDS:=@!TARGET_uml
734 TITLE:=Network packet generator
735 KCONFIG:=CONFIG_NET_PKTGEN
736 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
737 AUTOLOAD:=$(call AutoLoad,99,pktgen)
738 endef
739
740 define KernelPackage/pktgen/description
741 Kernel modules for the Network Packet Generator
742 endef
743
744 $(eval $(call KernelPackage,pktgen))
745
746 define KernelPackage/l2tp
747 SUBMENU:=$(NETWORK_SUPPORT_MENU)
748 TITLE:=Layer Two Tunneling Protocol (L2TP)
749 KCONFIG:=CONFIG_L2TP \
750 CONFIG_L2TP_V3=y \
751 CONFIG_L2TP_DEBUGFS=n
752 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
753 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
754 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
755 endef
756
757 define KernelPackage/l2tp/description
758 Kernel modules for L2TP V3 Support
759 endef
760
761 $(eval $(call KernelPackage,l2tp))
762
763
764 define KernelPackage/l2tp-eth
765 SUBMENU:=$(NETWORK_SUPPORT_MENU)
766 TITLE:=L2TP ethernet pseudowire support for L2TPv3
767 DEPENDS:=+kmod-l2tp
768 KCONFIG:=CONFIG_L2TP_ETH
769 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
770 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
771 endef
772
773 define KernelPackage/l2tp-eth/description
774 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
775 endef
776
777 $(eval $(call KernelPackage,l2tp-eth))
778
779 define KernelPackage/l2tp-ip
780 SUBMENU:=$(NETWORK_SUPPORT_MENU)
781 TITLE:=L2TP IP encapsulation for L2TPv3
782 DEPENDS:=+kmod-l2tp
783 KCONFIG:=CONFIG_L2TP_IP
784 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
785 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
786 endef
787
788 define KernelPackage/l2tp-ip/description
789 Kernel modules for L2TP IP encapsulation for L2TPv3
790 endef
791
792 $(eval $(call KernelPackage,l2tp-ip))
793
794
795 define KernelPackage/sctp
796 SUBMENU:=$(NETWORK_SUPPORT_MENU)
797 TITLE:=SCTP protocol kernel support
798 KCONFIG:=\
799 CONFIG_IP_SCTP \
800 CONFIG_SCTP_DBG_MSG=n \
801 CONFIG_SCTP_DBG_OBJCNT=n \
802 CONFIG_SCTP_HMAC_NONE=n \
803 CONFIG_SCTP_HMAC_SHA1=n \
804 CONFIG_SCTP_HMAC_MD5=y
805 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
806 AUTOLOAD:= $(call AutoLoad,32,sctp)
807 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
808 endef
809
810 define KernelPackage/sctp/description
811 Kernel modules for SCTP protocol support
812 endef
813
814 $(eval $(call KernelPackage,sctp))
815
816
817 define KernelPackage/netem
818 SUBMENU:=$(NETWORK_SUPPORT_MENU)
819 TITLE:=Network emulation functionality
820 DEPENDS:=+kmod-sched
821 KCONFIG:=CONFIG_NET_SCH_NETEM
822 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
823 AUTOLOAD:=$(call AutoLoad,99,netem)
824 endef
825
826 define KernelPackage/netem/description
827 Kernel modules for emulating the properties of wide area networks
828 endef
829
830 $(eval $(call KernelPackage,netem))
831
832 define KernelPackage/slip
833 SUBMENU:=$(NETWORK_SUPPORT_MENU)
834 TITLE:=SLIP modules
835 KCONFIG:= \
836 CONFIG_SLIP \
837 CONFIG_SLIP_COMPRESSED=y \
838 CONFIG_SLIP_SMART=y \
839 CONFIG_SLIP_MODE_SLIP6=y
840
841 FILES:= \
842 $(LINUX_DIR)/drivers/net/slip/slip.ko
843 AUTOLOAD:=$(call AutoLoad,30,slip)
844 endef
845
846 define KernelPackage/slip/description
847 Kernel modules for SLIP support
848 endef
849
850 $(eval $(call KernelPackage,slip))
851