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