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