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