kernel: remove more unnecessary kernel version checks/dependencies
[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_EXTRA = $(filter-out $(SCHED_MODULES_CORE) act_connmark,$(SCHED_MODULES))
599 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
600 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
601
602 define KernelPackage/sched-core
603 SUBMENU:=$(NETWORK_SUPPORT_MENU)
604 TITLE:=Traffic schedulers
605 KCONFIG:= \
606 CONFIG_NET_SCHED=y \
607 CONFIG_NET_SCH_HFSC \
608 CONFIG_NET_SCH_INGRESS \
609 CONFIG_NET_SCH_CODEL \
610 CONFIG_NET_SCH_FQ_CODEL \
611 CONFIG_NET_CLS=y \
612 CONFIG_NET_CLS_ACT=y \
613 CONFIG_NET_CLS_FLOW \
614 CONFIG_NET_CLS_FW \
615 CONFIG_NET_CLS_ROUTE4 \
616 CONFIG_NET_CLS_TCINDEX \
617 CONFIG_NET_CLS_U32 \
618 CONFIG_NET_ACT_MIRRED \
619 CONFIG_NET_ACT_SKBEDIT \
620 CONFIG_NET_EMATCH=y \
621 CONFIG_NET_EMATCH_U32
622 FILES:=$(SCHED_FILES)
623 endef
624
625 define KernelPackage/sched-core/description
626 Core kernel scheduler support for IP traffic
627 endef
628
629 $(eval $(call KernelPackage,sched-core))
630
631
632 define KernelPackage/sched-connmark
633 SUBMENU:=$(NETWORK_SUPPORT_MENU)
634 TITLE:=Traffic shaper conntrack mark support
635 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
636 KCONFIG:=CONFIG_NET_ACT_CONNMARK
637 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
638 endef
639 $(eval $(call KernelPackage,sched-connmark))
640
641 define KernelPackage/sched
642 SUBMENU:=$(NETWORK_SUPPORT_MENU)
643 TITLE:=Extra traffic schedulers
644 DEPENDS:=+kmod-sched-core
645 KCONFIG:= \
646 CONFIG_NET_SCH_DSMARK \
647 CONFIG_NET_SCH_HTB \
648 CONFIG_NET_SCH_ESFQ \
649 CONFIG_NET_SCH_ESFQ_NFCT=y \
650 CONFIG_NET_SCH_FIFO \
651 CONFIG_NET_SCH_GRED \
652 CONFIG_NET_SCH_PRIO \
653 CONFIG_NET_SCH_RED \
654 CONFIG_NET_SCH_TBF \
655 CONFIG_NET_SCH_SFQ \
656 CONFIG_NET_SCH_TEQL \
657 CONFIG_NET_CLS_BASIC \
658 CONFIG_NET_ACT_POLICE \
659 CONFIG_NET_ACT_IPT \
660 CONFIG_NET_EMATCH_CMP \
661 CONFIG_NET_EMATCH_NBYTE \
662 CONFIG_NET_EMATCH_META \
663 CONFIG_NET_EMATCH_TEXT
664 FILES:=$(SCHED_FILES_EXTRA)
665 endef
666
667 define KernelPackage/sched/description
668 Extra kernel schedulers modules for IP traffic
669 endef
670
671 $(eval $(call KernelPackage,sched))
672
673
674 define KernelPackage/ax25
675 SUBMENU:=$(NETWORK_SUPPORT_MENU)
676 TITLE:=AX25 support
677 KCONFIG:= \
678 CONFIG_AX25 \
679 CONFIG_MKISS
680 FILES:= \
681 $(LINUX_DIR)/net/ax25/ax25.ko \
682 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
683 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
684 $(call AddDepends/crc16)
685 endef
686
687 define KernelPackage/ax25/description
688 Kernel modules for AX25 support
689 endef
690
691 $(eval $(call KernelPackage,ax25))
692
693
694 define KernelPackage/mp-alg
695 SUBMENU:=$(NETWORK_SUPPORT_MENU)
696 TITLE:=ECMP caching algorithms
697 KCONFIG:= \
698 CONFIG_IP_ROUTE_MULTIPATH_RR \
699 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
700 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
701 CONFIG_IP_ROUTE_MULTIPATH_DRR
702 FILES:= \
703 $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
704 $(LINUX_DIR)/net/ipv4/multipath_random.ko \
705 $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
706 $(LINUX_DIR)/net/ipv4/multipath_drr.ko
707 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
708 endef
709
710 define KernelPackage/mp-alg/description
711 Kernel modules that provide several different algorithms for multipath
712 route selection from the route cache. The iproute "mpath" argument allows
713 specifying which algorithm to use for routes.
714 quagga (at least <=0.99.6) requires a multipath patch to support this
715 cached mp route feature.
716 endef
717
718 $(eval $(call KernelPackage,mp-alg))
719
720
721 define KernelPackage/pktgen
722 SUBMENU:=$(NETWORK_SUPPORT_MENU)
723 DEPENDS:=@!TARGET_uml
724 TITLE:=Network packet generator
725 KCONFIG:=CONFIG_NET_PKTGEN
726 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
727 AUTOLOAD:=$(call AutoLoad,99,pktgen)
728 endef
729
730 define KernelPackage/pktgen/description
731 Kernel modules for the Network Packet Generator
732 endef
733
734 $(eval $(call KernelPackage,pktgen))
735
736 define KernelPackage/l2tp
737 SUBMENU:=$(NETWORK_SUPPORT_MENU)
738 TITLE:=Layer Two Tunneling Protocol (L2TP)
739 KCONFIG:=CONFIG_L2TP \
740 CONFIG_L2TP_V3=y \
741 CONFIG_L2TP_DEBUGFS=n
742 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
743 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
744 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
745 endef
746
747 define KernelPackage/l2tp/description
748 Kernel modules for L2TP V3 Support
749 endef
750
751 $(eval $(call KernelPackage,l2tp))
752
753
754 define KernelPackage/l2tp-eth
755 SUBMENU:=$(NETWORK_SUPPORT_MENU)
756 TITLE:=L2TP ethernet pseudowire support for L2TPv3
757 DEPENDS:=+kmod-l2tp
758 KCONFIG:=CONFIG_L2TP_ETH
759 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
760 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
761 endef
762
763 define KernelPackage/l2tp-eth/description
764 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
765 endef
766
767 $(eval $(call KernelPackage,l2tp-eth))
768
769 define KernelPackage/l2tp-ip
770 SUBMENU:=$(NETWORK_SUPPORT_MENU)
771 TITLE:=L2TP IP encapsulation for L2TPv3
772 DEPENDS:=+kmod-l2tp
773 KCONFIG:=CONFIG_L2TP_IP
774 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
775 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
776 endef
777
778 define KernelPackage/l2tp-ip/description
779 Kernel modules for L2TP IP encapsulation for L2TPv3
780 endef
781
782 $(eval $(call KernelPackage,l2tp-ip))
783
784
785 define KernelPackage/sctp
786 SUBMENU:=$(NETWORK_SUPPORT_MENU)
787 TITLE:=SCTP protocol kernel support
788 KCONFIG:=\
789 CONFIG_IP_SCTP \
790 CONFIG_SCTP_DBG_MSG=n \
791 CONFIG_SCTP_DBG_OBJCNT=n \
792 CONFIG_SCTP_HMAC_NONE=n \
793 CONFIG_SCTP_HMAC_SHA1=n \
794 CONFIG_SCTP_HMAC_MD5=y
795 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
796 AUTOLOAD:= $(call AutoLoad,32,sctp)
797 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
798 endef
799
800 define KernelPackage/sctp/description
801 Kernel modules for SCTP protocol support
802 endef
803
804 $(eval $(call KernelPackage,sctp))
805
806
807 define KernelPackage/netem
808 SUBMENU:=$(NETWORK_SUPPORT_MENU)
809 TITLE:=Network emulation functionality
810 DEPENDS:=+kmod-sched
811 KCONFIG:=CONFIG_NET_SCH_NETEM
812 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
813 AUTOLOAD:=$(call AutoLoad,99,netem)
814 endef
815
816 define KernelPackage/netem/description
817 Kernel modules for emulating the properties of wide area networks
818 endef
819
820 $(eval $(call KernelPackage,netem))
821
822 define KernelPackage/slip
823 SUBMENU:=$(NETWORK_SUPPORT_MENU)
824 TITLE:=SLIP modules
825 KCONFIG:= \
826 CONFIG_SLIP \
827 CONFIG_SLIP_COMPRESSED=y \
828 CONFIG_SLIP_SMART=y \
829 CONFIG_SLIP_MODE_SLIP6=y
830
831 FILES:= \
832 $(LINUX_DIR)/drivers/net/slip/slip.ko
833 AUTOLOAD:=$(call AutoLoad,30,slip)
834 endef
835
836 define KernelPackage/slip/description
837 Kernel modules for SLIP support
838 endef
839
840 $(eval $(call KernelPackage,slip))
841