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