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