kernel/modules: prevent bonding driver to create default bond0 interface
[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/bonding
46 SUBMENU:=$(NETWORK_SUPPORT_MENU)
47 TITLE:=Ethernet bonding driver
48 KCONFIG:=CONFIG_BONDING
49 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
50 AUTOLOAD:=$(call AutoLoad,40,bonding)
51 MODPARAMS.bonding:=max_bonds=0
52 endef
53
54 define KernelPackage/bonding/description
55 Kernel module for NIC bonding.
56 endef
57
58 $(eval $(call KernelPackage,bonding))
59
60
61 define KernelPackage/udptunnel4
62 SUBMENU:=$(NETWORK_SUPPORT_MENU)
63 TITLE:=IPv4 UDP tunneling support
64 KCONFIG:=CONFIG_NET_UDP_TUNNEL
65 HIDDEN:=1
66 FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
67 AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
68 endef
69
70
71 $(eval $(call KernelPackage,udptunnel4))
72
73 define KernelPackage/udptunnel6
74 SUBMENU:=$(NETWORK_SUPPORT_MENU)
75 TITLE:=IPv6 UDP tunneling support
76 DEPENDS:=@IPV6
77 KCONFIG:=CONFIG_NET_UDP_TUNNEL
78 HIDDEN:=1
79 FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
80 AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
81 endef
82
83 $(eval $(call KernelPackage,udptunnel6))
84
85
86 define KernelPackage/vxlan
87 SUBMENU:=$(NETWORK_SUPPORT_MENU)
88 TITLE:=Native VXLAN Kernel support
89 DEPENDS:= \
90 +kmod-iptunnel \
91 +kmod-udptunnel4 \
92 +IPV6:kmod-udptunnel6
93 KCONFIG:=CONFIG_VXLAN
94 FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
95 AUTOLOAD:=$(call AutoLoad,13,vxlan)
96 endef
97
98 define KernelPackage/vxlan/description
99 Kernel module for supporting VXLAN in the Kernel.
100 Requires Kernel 3.12 or newer.
101 endef
102
103 $(eval $(call KernelPackage,vxlan))
104
105
106 define KernelPackage/geneve
107 SUBMENU:=$(NETWORK_SUPPORT_MENU)
108 TITLE:=Generic Network Virtualization Encapsulation (Geneve) support
109 DEPENDS:= \
110 +kmod-iptunnel \
111 +kmod-udptunnel4 \
112 +IPV6:kmod-udptunnel6
113 KCONFIG:=CONFIG_GENEVE
114 FILES:= \
115 $(LINUX_DIR)/drivers/net/geneve.ko
116 AUTOLOAD:=$(call AutoLoad,13,geneve)
117 endef
118
119 define KernelPackage/geneve/description
120 Kernel module for supporting Geneve in the Kernel.
121 Requires Kernel 3.18 or newer.
122 endef
123
124 $(eval $(call KernelPackage,geneve))
125
126
127 define KernelPackage/nsh
128 SUBMENU:=$(NETWORK_SUPPORT_MENU)
129 TITLE:=Network Service Header (NSH) protocol
130 DEPENDS:=
131 KCONFIG:=CONFIG_NET_NSH
132 FILES:=$(LINUX_DIR)/net/nsh/nsh.ko
133 AUTOLOAD:=$(call AutoLoad,13,nsh)
134 endef
135
136 define KernelPackage/nsh/description
137 Network Service Header is an implementation of Service Function
138 Chaining (RFC 7665). Requires kernel 4.14 or newer
139 endef
140
141 $(eval $(call KernelPackage,nsh))
142
143
144 define KernelPackage/misdn
145 SUBMENU:=$(NETWORK_SUPPORT_MENU)
146 TITLE:=mISDN (ISDN) Support
147 KCONFIG:= \
148 CONFIG_ISDN=y \
149 CONFIG_MISDN \
150 CONFIG_MISDN_DSP \
151 CONFIG_MISDN_L1OIP
152 FILES:= \
153 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
154 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
155 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
156 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
157 endef
158
159 define KernelPackage/misdn/description
160 Modular ISDN driver support
161 endef
162
163 $(eval $(call KernelPackage,misdn))
164
165
166 define KernelPackage/isdn4linux
167 SUBMENU:=$(NETWORK_SUPPORT_MENU)
168 TITLE:=Old ISDN4Linux (deprecated)
169 DEPENDS:=+kmod-ppp
170 KCONFIG:= \
171 CONFIG_ISDN=y \
172 CONFIG_ISDN_I4L \
173 CONFIG_ISDN_PPP=y \
174 CONFIG_ISDN_PPP_VJ=y \
175 CONFIG_ISDN_MPP=y \
176 CONFIG_IPPP_FILTER=y \
177 CONFIG_ISDN_PPP_BSDCOMP \
178 CONFIG_ISDN_CAPI_MIDDLEWARE=y \
179 CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
180 CONFIG_ISDN_AUDIO=y \
181 CONFIG_ISDN_TTY_FAX=y \
182 CONFIG_ISDN_X25=y \
183 CONFIG_ISDN_DIVERSION
184 FILES:= \
185 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
186 $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
187 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
188 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
189 endef
190
191 define KernelPackage/isdn4linux/description
192 This driver allows you to use an ISDN adapter for networking
193 endef
194
195 $(eval $(call KernelPackage,isdn4linux))
196
197
198 define KernelPackage/ipip
199 SUBMENU:=$(NETWORK_SUPPORT_MENU)
200 TITLE:=IP-in-IP encapsulation
201 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
202 KCONFIG:=CONFIG_NET_IPIP
203 FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
204 AUTOLOAD:=$(call AutoLoad,32,ipip)
205 endef
206
207 define KernelPackage/ipip/description
208 Kernel modules for IP-in-IP encapsulation
209 endef
210
211 $(eval $(call KernelPackage,ipip))
212
213
214 IPSEC-m:= \
215 xfrm/xfrm_algo \
216 xfrm/xfrm_ipcomp \
217 xfrm/xfrm_user \
218 key/af_key \
219
220 define KernelPackage/ipsec
221 SUBMENU:=$(NETWORK_SUPPORT_MENU)
222 TITLE:=IPsec related modules (IPv4 and IPv6)
223 DEPENDS:= \
224 +kmod-crypto-authenc +kmod-crypto-cbc +kmod-crypto-deflate \
225 +kmod-crypto-des +kmod-crypto-echainiv +kmod-crypto-hmac \
226 +kmod-crypto-md5 +kmod-crypto-sha1
227 KCONFIG:= \
228 CONFIG_NET_KEY \
229 CONFIG_XFRM_USER \
230 CONFIG_INET_IPCOMP \
231 CONFIG_XFRM_IPCOMP
232 FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
233 AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
234 endef
235
236 define KernelPackage/ipsec/description
237 Kernel modules for IPsec support in both IPv4 and IPv6.
238 Includes:
239 - af_key
240 - xfrm_algo
241 - xfrm_ipcomp
242 - xfrm_user
243 endef
244
245 $(eval $(call KernelPackage,ipsec))
246
247 IPSEC4-m = \
248 ipv4/ah4 \
249 ipv4/esp4 \
250 ipv4/xfrm4_tunnel \
251 ipv4/ipcomp \
252
253 IPSEC4-m += $(ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),le,5.2))),ipv4/xfrm4_mode_beet ipv4/xfrm4_mode_transport ipv4/xfrm4_mode_tunnel)
254
255 define KernelPackage/ipsec4
256 SUBMENU:=$(NETWORK_SUPPORT_MENU)
257 TITLE:=IPsec related modules (IPv4)
258 DEPENDS:=kmod-ipsec +kmod-iptunnel4
259 KCONFIG:= \
260 CONFIG_INET_AH \
261 CONFIG_INET_ESP \
262 CONFIG_INET_IPCOMP \
263 CONFIG_INET_XFRM_MODE_BEET \
264 CONFIG_INET_XFRM_MODE_TRANSPORT \
265 CONFIG_INET_XFRM_MODE_TUNNEL \
266 CONFIG_INET_XFRM_TUNNEL \
267 CONFIG_INET_ESP_OFFLOAD=n
268 FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
269 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
270 endef
271
272 define KernelPackage/ipsec4/description
273 Kernel modules for IPsec support in IPv4.
274 Includes:
275 - ah4
276 - esp4
277 - ipcomp4
278 - xfrm4_mode_beet
279 - xfrm4_mode_transport
280 - xfrm4_mode_tunnel
281 - xfrm4_tunnel
282 endef
283
284 $(eval $(call KernelPackage,ipsec4))
285
286
287 IPSEC6-m = \
288 ipv6/ah6 \
289 ipv6/esp6 \
290 ipv6/xfrm6_tunnel \
291 ipv6/ipcomp6 \
292
293 IPSEC6-m += $(ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),le,5.2))),ipv6/xfrm6_mode_beet ipv6/xfrm6_mode_transport ipv6/xfrm6_mode_tunnel)
294
295 define KernelPackage/ipsec6
296 SUBMENU:=$(NETWORK_SUPPORT_MENU)
297 TITLE:=IPsec related modules (IPv6)
298 DEPENDS:=@IPV6 kmod-ipsec +kmod-iptunnel6
299 KCONFIG:= \
300 CONFIG_INET6_AH \
301 CONFIG_INET6_ESP \
302 CONFIG_INET6_IPCOMP \
303 CONFIG_INET6_XFRM_MODE_BEET \
304 CONFIG_INET6_XFRM_MODE_TRANSPORT \
305 CONFIG_INET6_XFRM_MODE_TUNNEL \
306 CONFIG_INET6_XFRM_TUNNEL \
307 CONFIG_INET6_ESP_OFFLOAD=n
308 FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
309 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
310 endef
311
312 define KernelPackage/ipsec6/description
313 Kernel modules for IPsec support in IPv6.
314 Includes:
315 - ah6
316 - esp6
317 - ipcomp6
318 - xfrm6_mode_beet
319 - xfrm6_mode_transport
320 - xfrm6_mode_tunnel
321 - xfrm6_tunnel
322 endef
323
324 $(eval $(call KernelPackage,ipsec6))
325
326
327 define KernelPackage/iptunnel
328 SUBMENU:=$(NETWORK_SUPPORT_MENU)
329 TITLE:=IP tunnel support
330 HIDDEN:=1
331 KCONFIG:= \
332 CONFIG_NET_IP_TUNNEL
333 FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
334 AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
335 endef
336
337 define KernelPackage/iptunnel/description
338 Kernel module for generic IP tunnel support
339 endef
340
341 $(eval $(call KernelPackage,iptunnel))
342
343
344 define KernelPackage/ip-vti
345 SUBMENU:=$(NETWORK_SUPPORT_MENU)
346 TITLE:=IP VTI (Virtual Tunnel Interface)
347 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4
348 KCONFIG:=CONFIG_NET_IPVTI
349 FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko
350 AUTOLOAD:=$(call AutoLoad,33,ip_vti)
351 endef
352
353 define KernelPackage/ip-vti/description
354 Kernel modules for IP VTI (Virtual Tunnel Interface)
355 endef
356
357 $(eval $(call KernelPackage,ip-vti))
358
359
360 define KernelPackage/ip6-vti
361 SUBMENU:=$(NETWORK_SUPPORT_MENU)
362 TITLE:=IPv6 VTI (Virtual Tunnel Interface)
363 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-ipsec6
364 KCONFIG:=CONFIG_IPV6_VTI
365 FILES:=$(LINUX_DIR)/net/ipv6/ip6_vti.ko
366 AUTOLOAD:=$(call AutoLoad,33,ip6_vti)
367 endef
368
369 define KernelPackage/ip6-vti/description
370 Kernel modules for IPv6 VTI (Virtual Tunnel Interface)
371 endef
372
373 $(eval $(call KernelPackage,ip6-vti))
374
375
376 define KernelPackage/xfrm-interface
377 SUBMENU:=$(NETWORK_SUPPORT_MENU)
378 TITLE:=IPsec XFRM Interface
379 DEPENDS:=@IPV6 +kmod-ipsec4 +kmod-ipsec6
380 KCONFIG:=CONFIG_XFRM_INTERFACE
381 FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko
382 AUTOLOAD:=$(call AutoProbe,xfrm_interface)
383 endef
384
385 define KernelPackage/xfrm-interface/description
386 Kernel module for XFRM interface support
387 endef
388
389 $(eval $(call KernelPackage,xfrm-interface))
390
391
392 define KernelPackage/iptunnel4
393 SUBMENU:=$(NETWORK_SUPPORT_MENU)
394 TITLE:=IPv4 tunneling
395 HIDDEN:=1
396 KCONFIG:= \
397 CONFIG_INET_TUNNEL \
398 CONFIG_NET_IPIP=m
399 FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
400 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
401 endef
402
403 define KernelPackage/iptunnel4/description
404 Kernel modules for IPv4 tunneling
405 endef
406
407 $(eval $(call KernelPackage,iptunnel4))
408
409
410 define KernelPackage/iptunnel6
411 SUBMENU:=$(NETWORK_SUPPORT_MENU)
412 TITLE:=IPv6 tunneling
413 DEPENDS:=@IPV6
414 KCONFIG:= \
415 CONFIG_INET6_TUNNEL
416 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
417 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
418 endef
419
420 define KernelPackage/iptunnel6/description
421 Kernel modules for IPv6 tunneling
422 endef
423
424 $(eval $(call KernelPackage,iptunnel6))
425
426
427 define KernelPackage/sit
428 SUBMENU:=$(NETWORK_SUPPORT_MENU)
429 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-iptunnel4
430 TITLE:=IPv6-in-IPv4 tunnel
431 KCONFIG:=CONFIG_IPV6_SIT \
432 CONFIG_IPV6_SIT_6RD=y
433 FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
434 AUTOLOAD:=$(call AutoLoad,32,sit)
435 endef
436
437 define KernelPackage/sit/description
438 Kernel modules for IPv6-in-IPv4 tunnelling
439 endef
440
441 $(eval $(call KernelPackage,sit))
442
443
444 define KernelPackage/fou
445 SUBMENU:=$(NETWORK_SUPPORT_MENU)
446 TITLE:=FOU and GUE decapsulation
447 DEPENDS:= \
448 +kmod-iptunnel \
449 +kmod-udptunnel4 \
450 +IPV6:kmod-udptunnel6
451 KCONFIG:= \
452 CONFIG_NET_FOU \
453 CONFIG_NET_FOU_IP_TUNNELS=y
454 FILES:=$(LINUX_DIR)/net/ipv4/fou.ko
455 AUTOLOAD:=$(call AutoProbe,fou)
456 endef
457
458 define KernelPackage/fou/description
459 Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling.
460 Requires Kernel 3.18 or newer.
461 endef
462
463 $(eval $(call KernelPackage,fou))
464
465
466 define KernelPackage/fou6
467 SUBMENU:=$(NETWORK_SUPPORT_MENU)
468 TITLE:=FOU and GUE decapsulation over IPv6
469 DEPENDS:= @IPV6 \
470 +kmod-fou \
471 +kmod-ip6-tunnel
472 KCONFIG:= \
473 CONFIG_IPV6_FOU \
474 CONFIG_IPV6_FOU_TUNNEL
475 FILES:=$(LINUX_DIR)/net/ipv6/fou6.ko
476 AUTOLOAD:=$(call AutoProbe,fou6)
477 endef
478
479 define KernelPackage/fou6/description
480 Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling over IPv6.
481 Requires Kernel 3.18 or newer.
482 endef
483
484 $(eval $(call KernelPackage,fou6))
485
486
487 define KernelPackage/ip6-tunnel
488 SUBMENU:=$(NETWORK_SUPPORT_MENU)
489 TITLE:=IP-in-IPv6 tunnelling
490 DEPENDS:=@IPV6 +kmod-iptunnel6
491 KCONFIG:= CONFIG_IPV6_TUNNEL
492 FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
493 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
494 endef
495
496 define KernelPackage/ip6-tunnel/description
497 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
498 endef
499
500 $(eval $(call KernelPackage,ip6-tunnel))
501
502
503 define KernelPackage/gre
504 SUBMENU:=$(NETWORK_SUPPORT_MENU)
505 TITLE:=GRE support
506 DEPENDS:=+kmod-iptunnel
507 KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
508 FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
509 AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
510 endef
511
512 define KernelPackage/gre/description
513 Generic Routing Encapsulation support
514 endef
515
516 $(eval $(call KernelPackage,gre))
517
518
519 define KernelPackage/gre6
520 SUBMENU:=$(NETWORK_SUPPORT_MENU)
521 TITLE:=GRE support over IPV6
522 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-gre
523 KCONFIG:=CONFIG_IPV6_GRE
524 FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
525 AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
526 endef
527
528 define KernelPackage/gre6/description
529 Generic Routing Encapsulation support over IPv6
530 endef
531
532 $(eval $(call KernelPackage,gre6))
533
534
535 define KernelPackage/tun
536 SUBMENU:=$(NETWORK_SUPPORT_MENU)
537 TITLE:=Universal TUN/TAP driver
538 KCONFIG:=CONFIG_TUN
539 FILES:=$(LINUX_DIR)/drivers/net/tun.ko
540 AUTOLOAD:=$(call AutoLoad,30,tun)
541 endef
542
543 define KernelPackage/tun/description
544 Kernel support for the TUN/TAP tunneling device
545 endef
546
547 $(eval $(call KernelPackage,tun))
548
549
550 define KernelPackage/veth
551 SUBMENU:=$(NETWORK_SUPPORT_MENU)
552 TITLE:=Virtual ethernet pair device
553 KCONFIG:=CONFIG_VETH
554 FILES:=$(LINUX_DIR)/drivers/net/veth.ko
555 AUTOLOAD:=$(call AutoLoad,30,veth)
556 endef
557
558 define KernelPackage/veth/description
559 This device is a local ethernet tunnel. Devices are created in pairs.
560 When one end receives the packet it appears on its pair and vice
561 versa.
562 endef
563
564 $(eval $(call KernelPackage,veth))
565
566
567 define KernelPackage/slhc
568 SUBMENU:=$(NETWORK_SUPPORT_MENU)
569 HIDDEN:=1
570 TITLE:=Serial Line Header Compression
571 DEPENDS:=+kmod-lib-crc-ccitt
572 KCONFIG:=CONFIG_SLHC
573 FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
574 endef
575
576 $(eval $(call KernelPackage,slhc))
577
578
579 define KernelPackage/ppp
580 SUBMENU:=$(NETWORK_SUPPORT_MENU)
581 TITLE:=PPP modules
582 DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
583 KCONFIG:= \
584 CONFIG_PPP \
585 CONFIG_PPP_ASYNC
586 FILES:= \
587 $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
588 $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
589 AUTOLOAD:=$(call AutoProbe,ppp_async)
590 endef
591
592 define KernelPackage/ppp/description
593 Kernel modules for PPP support
594 endef
595
596 $(eval $(call KernelPackage,ppp))
597
598
599 define KernelPackage/ppp-synctty
600 SUBMENU:=$(NETWORK_SUPPORT_MENU)
601 TITLE:=PPP sync tty support
602 DEPENDS:=kmod-ppp
603 KCONFIG:=CONFIG_PPP_SYNC_TTY
604 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
605 AUTOLOAD:=$(call AutoProbe,ppp_synctty)
606 endef
607
608 define KernelPackage/ppp-synctty/description
609 Kernel modules for PPP sync tty support
610 endef
611
612 $(eval $(call KernelPackage,ppp-synctty))
613
614
615 define KernelPackage/pppox
616 SUBMENU:=$(NETWORK_SUPPORT_MENU)
617 TITLE:=PPPoX helper
618 DEPENDS:=kmod-ppp
619 KCONFIG:=CONFIG_PPPOE
620 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
621 endef
622
623 define KernelPackage/pppox/description
624 Kernel helper module for PPPoE and PPTP support
625 endef
626
627 $(eval $(call KernelPackage,pppox))
628
629
630 define KernelPackage/pppoe
631 SUBMENU:=$(NETWORK_SUPPORT_MENU)
632 TITLE:=PPPoE support
633 DEPENDS:=kmod-ppp +kmod-pppox
634 KCONFIG:=CONFIG_PPPOE
635 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
636 AUTOLOAD:=$(call AutoProbe,pppoe)
637 endef
638
639 define KernelPackage/pppoe/description
640 Kernel module for PPPoE (PPP over Ethernet) support
641 endef
642
643 $(eval $(call KernelPackage,pppoe))
644
645
646 define KernelPackage/pppoa
647 SUBMENU:=$(NETWORK_SUPPORT_MENU)
648 TITLE:=PPPoA support
649 DEPENDS:=kmod-ppp +kmod-atm
650 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
651 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
652 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
653 endef
654
655 define KernelPackage/pppoa/description
656 Kernel modules for PPPoA (PPP over ATM) support
657 endef
658
659 $(eval $(call KernelPackage,pppoa))
660
661
662 define KernelPackage/pptp
663 SUBMENU:=$(NETWORK_SUPPORT_MENU)
664 TITLE:=PPtP support
665 DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
666 KCONFIG:=CONFIG_PPTP
667 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
668 AUTOLOAD:=$(call AutoProbe,pptp)
669 endef
670
671 $(eval $(call KernelPackage,pptp))
672
673
674 define KernelPackage/pppol2tp
675 SUBMENU:=$(NETWORK_SUPPORT_MENU)
676 TITLE:=PPPoL2TP support
677 DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
678 KCONFIG:=CONFIG_PPPOL2TP
679 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
680 AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
681 endef
682
683 define KernelPackage/pppol2tp/description
684 Kernel modules for PPPoL2TP (PPP over L2TP) support
685 endef
686
687 $(eval $(call KernelPackage,pppol2tp))
688
689
690 define KernelPackage/ipoa
691 SUBMENU:=$(NETWORK_SUPPORT_MENU)
692 TITLE:=IPoA support
693 DEPENDS:=kmod-atm
694 KCONFIG:=CONFIG_ATM_CLIP
695 FILES:=$(LINUX_DIR)/net/atm/clip.ko
696 AUTOLOAD:=$(call AutoProbe,clip)
697 endef
698
699 define KernelPackage/ipoa/description
700 Kernel modules for IPoA (IP over ATM) support
701 endef
702
703 $(eval $(call KernelPackage,ipoa))
704
705
706 define KernelPackage/mppe
707 SUBMENU:=$(NETWORK_SUPPORT_MENU)
708 TITLE:=Microsoft PPP compression/encryption
709 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
710 KCONFIG:= \
711 CONFIG_PPP_MPPE_MPPC \
712 CONFIG_PPP_MPPE
713 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
714 AUTOLOAD:=$(call AutoProbe,ppp_mppe)
715 endef
716
717 define KernelPackage/mppe/description
718 Kernel modules for Microsoft PPP compression/encryption
719 endef
720
721 $(eval $(call KernelPackage,mppe))
722
723
724 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
725 SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
726 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark act_ctinfo sch_cake sch_netem sch_mqprio em_ipset cls_bpf cls_flower act_bpf act_vlan
727 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
728 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
729 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
730
731 define KernelPackage/sched-core
732 SUBMENU:=$(NETWORK_SUPPORT_MENU)
733 TITLE:=Traffic schedulers
734 KCONFIG:= \
735 CONFIG_NET_SCHED=y \
736 CONFIG_NET_SCH_HFSC \
737 CONFIG_NET_SCH_HTB \
738 CONFIG_NET_SCH_TBF \
739 CONFIG_NET_SCH_INGRESS \
740 CONFIG_NET_SCH_FQ_CODEL \
741 CONFIG_NET_CLS=y \
742 CONFIG_NET_CLS_ACT=y \
743 CONFIG_NET_CLS_BASIC \
744 CONFIG_NET_CLS_FLOW \
745 CONFIG_NET_CLS_FW \
746 CONFIG_NET_CLS_ROUTE4 \
747 CONFIG_NET_CLS_TCINDEX \
748 CONFIG_NET_CLS_U32 \
749 CONFIG_NET_ACT_GACT \
750 CONFIG_NET_ACT_MIRRED \
751 CONFIG_NET_ACT_SKBEDIT \
752 CONFIG_NET_CLS_MATCHALL \
753 CONFIG_NET_EMATCH=y \
754 CONFIG_NET_EMATCH_U32
755 FILES:=$(SCHED_FILES)
756 AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
757 endef
758
759 define KernelPackage/sched-core/description
760 Core kernel scheduler support for IP traffic
761 endef
762
763 $(eval $(call KernelPackage,sched-core))
764
765
766 define KernelPackage/sched-cake
767 SUBMENU:=$(NETWORK_SUPPORT_MENU)
768 TITLE:=Cake fq_codel/blue derived shaper
769 DEPENDS:=+kmod-sched-core
770 KCONFIG:=CONFIG_NET_SCH_CAKE
771 FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko
772 AUTOLOAD:=$(call AutoProbe,sch_cake)
773 endef
774
775 define KernelPackage/sched-cake/description
776 Common Applications Kept Enhanced fq_codel/blue derived shaper
777 endef
778
779 $(eval $(call KernelPackage,sched-cake))
780
781 define KernelPackage/sched-flower
782 SUBMENU:=$(NETWORK_SUPPORT_MENU)
783 TITLE:=Flower traffic classifier
784 DEPENDS:=+kmod-sched-core
785 KCONFIG:=CONFIG_NET_CLS_FLOWER
786 FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
787 AUTOLOAD:=$(call AutoProbe, cls_flower)
788 endef
789
790 define KernelPackage/sched-flower/description
791 Allows to classify packets based on a configurable combination of packet keys and masks.
792 endef
793
794 $(eval $(call KernelPackage,sched-flower))
795
796
797 define KernelPackage/sched-act-vlan
798 SUBMENU:=$(NETWORK_SUPPORT_MENU)
799 TITLE:=Traffic VLAN manipulation
800 DEPENDS:=+kmod-sched-core
801 KCONFIG:=CONFIG_NET_ACT_VLAN
802 FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko
803 AUTOLOAD:=$(call AutoProbe, act_vlan)
804 endef
805
806 define KernelPackage/sched-act-vlan/description
807 Allows to configure rules to push or pop vlan headers.
808 endef
809
810 $(eval $(call KernelPackage,sched-act-vlan))
811
812
813 define KernelPackage/sched-mqprio
814 SUBMENU:=$(NETWORK_SUPPORT_MENU)
815 TITLE:=Multi-queue priority scheduler (MQPRIO)
816 DEPENDS:=+kmod-sched-core
817 KCONFIG:=CONFIG_NET_SCH_MQPRIO
818 FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
819 AUTOLOAD:=$(call AutoProbe, sch_mqprio)
820 endef
821
822 define KernelPackage/sched-mqprio/description
823 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
824 endef
825
826 $(eval $(call KernelPackage,sched-mqprio))
827
828 define KernelPackage/sched-connmark
829 SUBMENU:=$(NETWORK_SUPPORT_MENU)
830 TITLE:=Traffic shaper conntrack mark support
831 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
832 KCONFIG:=CONFIG_NET_ACT_CONNMARK
833 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
834 AUTOLOAD:=$(call AutoLoad,71, act_connmark)
835 endef
836 $(eval $(call KernelPackage,sched-connmark))
837
838 define KernelPackage/sched-ctinfo
839 SUBMENU:=$(NETWORK_SUPPORT_MENU)
840 TITLE:=Traffic shaper ctinfo support
841 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
842 KCONFIG:=CONFIG_NET_ACT_CTINFO
843 FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
844 AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
845 endef
846 $(eval $(call KernelPackage,sched-ctinfo))
847
848 define KernelPackage/sched-ipset
849 SUBMENU:=$(NETWORK_SUPPORT_MENU)
850 TITLE:=Traffic shaper ipset support
851 DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
852 KCONFIG:= \
853 CONFIG_NET_EMATCH_IPSET
854 FILES:= \
855 $(LINUX_DIR)/net/sched/em_ipset.ko
856 AUTOLOAD:=$(call AutoLoad,72,em_ipset)
857 endef
858
859 $(eval $(call KernelPackage,sched-ipset))
860
861
862 define KernelPackage/sched-bpf
863 SUBMENU:=$(NETWORK_SUPPORT_MENU)
864 TITLE:=Traffic shaper support for Berkeley Packet Filter
865 KCONFIG:= \
866 CONFIG_NET_CLS_BPF \
867 CONFIG_NET_ACT_BPF
868 FILES:= \
869 $(LINUX_DIR)/net/sched/cls_bpf.ko \
870 $(LINUX_DIR)/net/sched/act_bpf.ko
871 AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf)
872 endef
873
874 $(eval $(call KernelPackage,sched-bpf))
875
876
877 define KernelPackage/bpf-test
878 SUBMENU:=$(NETWORK_SUPPORT_MENU)
879 TITLE:=Test Berkeley Packet Filter functionality
880 KCONFIG:=CONFIG_TEST_BPF
881 FILES:=$(LINUX_DIR)/lib/test_bpf.ko
882 endef
883
884 $(eval $(call KernelPackage,bpf-test))
885
886
887 define KernelPackage/sched
888 SUBMENU:=$(NETWORK_SUPPORT_MENU)
889 TITLE:=Extra traffic schedulers
890 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c
891 KCONFIG:= \
892 CONFIG_NET_SCH_CODEL \
893 CONFIG_NET_SCH_DSMARK \
894 CONFIG_NET_SCH_FIFO \
895 CONFIG_NET_SCH_GRED \
896 CONFIG_NET_SCH_MULTIQ \
897 CONFIG_NET_SCH_PRIO \
898 CONFIG_NET_SCH_RED \
899 CONFIG_NET_SCH_SFQ \
900 CONFIG_NET_SCH_TEQL \
901 CONFIG_NET_SCH_FQ \
902 CONFIG_NET_SCH_PIE \
903 CONFIG_NET_ACT_POLICE \
904 CONFIG_NET_ACT_IPT \
905 CONFIG_NET_ACT_PEDIT \
906 CONFIG_NET_ACT_SIMP \
907 CONFIG_NET_ACT_CSUM \
908 CONFIG_NET_EMATCH_CMP \
909 CONFIG_NET_EMATCH_NBYTE \
910 CONFIG_NET_EMATCH_META \
911 CONFIG_NET_EMATCH_TEXT
912 FILES:=$(SCHED_FILES_EXTRA)
913 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
914 endef
915
916 define KernelPackage/sched/description
917 Extra kernel schedulers modules for IP traffic
918 endef
919
920 SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
921
922 define KernelPackage/sched/install
923 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
924 $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
925 endef
926
927 $(eval $(call KernelPackage,sched))
928
929
930 define KernelPackage/tcp-bbr
931 SUBMENU:=$(NETWORK_SUPPORT_MENU)
932 TITLE:=BBR TCP congestion control
933 KCONFIG:=CONFIG_TCP_CONG_BBR
934 FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
935 AUTOLOAD:=$(call AutoProbe,tcp_bbr)
936 endef
937
938 define KernelPackage/tcp-bbr/description
939 Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
940 control. It requires the fq ("Fair Queue") pacing packet scheduler.
941 For kernel 4.13+, TCP internal pacing is implemented as fallback.
942 endef
943
944 TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
945
946 define KernelPackage/tcp-bbr/install
947 $(INSTALL_DIR) $(1)/etc/sysctl.d
948 $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
949 endef
950
951 $(eval $(call KernelPackage,tcp-bbr))
952
953
954 define KernelPackage/tcp-hybla
955 SUBMENU:=$(NETWORK_SUPPORT_MENU)
956 TITLE:=TCP-Hybla congestion control algorithm
957 KCONFIG:=CONFIG_TCP_CONG_HYBLA
958 FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
959 AUTOLOAD:=$(call AutoProbe,tcp_hybla)
960 endef
961
962 define KernelPackage/tcp-hybla/description
963 TCP-Hybla is a sender-side only change that eliminates penalization of
964 long-RTT, large-bandwidth connections, like when satellite legs are
965 involved, especially when sharing a common bottleneck with normal
966 terrestrial connections.
967 endef
968
969 $(eval $(call KernelPackage,tcp-hybla))
970
971
972 define KernelPackage/ax25
973 SUBMENU:=$(NETWORK_SUPPORT_MENU)
974 TITLE:=AX25 support
975 DEPENDS:=+kmod-lib-crc16
976 KCONFIG:= \
977 CONFIG_HAMRADIO=y \
978 CONFIG_AX25 \
979 CONFIG_MKISS
980 FILES:= \
981 $(LINUX_DIR)/net/ax25/ax25.ko \
982 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
983 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
984 endef
985
986 define KernelPackage/ax25/description
987 Kernel modules for AX25 support
988 endef
989
990 $(eval $(call KernelPackage,ax25))
991
992
993 define KernelPackage/pktgen
994 SUBMENU:=$(NETWORK_SUPPORT_MENU)
995 DEPENDS:=@!TARGET_uml
996 TITLE:=Network packet generator
997 KCONFIG:=CONFIG_NET_PKTGEN
998 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
999 AUTOLOAD:=$(call AutoLoad,99,pktgen)
1000 endef
1001
1002 define KernelPackage/pktgen/description
1003 Kernel modules for the Network Packet Generator
1004 endef
1005
1006 $(eval $(call KernelPackage,pktgen))
1007
1008 define KernelPackage/l2tp
1009 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1010 TITLE:=Layer Two Tunneling Protocol (L2TP)
1011 DEPENDS:= \
1012 +kmod-udptunnel4 \
1013 +IPV6:kmod-udptunnel6
1014 KCONFIG:=CONFIG_L2TP \
1015 CONFIG_L2TP_V3=y \
1016 CONFIG_L2TP_DEBUGFS=n
1017 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
1018 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
1019 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
1020 endef
1021
1022 define KernelPackage/l2tp/description
1023 Kernel modules for L2TP V3 Support
1024 endef
1025
1026 $(eval $(call KernelPackage,l2tp))
1027
1028
1029 define KernelPackage/l2tp-eth
1030 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1031 TITLE:=L2TP ethernet pseudowire support for L2TPv3
1032 DEPENDS:=+kmod-l2tp
1033 KCONFIG:=CONFIG_L2TP_ETH
1034 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
1035 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
1036 endef
1037
1038 define KernelPackage/l2tp-eth/description
1039 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1040 endef
1041
1042 $(eval $(call KernelPackage,l2tp-eth))
1043
1044 define KernelPackage/l2tp-ip
1045 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1046 TITLE:=L2TP IP encapsulation for L2TPv3
1047 DEPENDS:=+kmod-l2tp
1048 KCONFIG:=CONFIG_L2TP_IP
1049 FILES:= \
1050 $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
1051 $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
1052 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
1053 endef
1054
1055 define KernelPackage/l2tp-ip/description
1056 Kernel modules for L2TP IP encapsulation for L2TPv3
1057 endef
1058
1059 $(eval $(call KernelPackage,l2tp-ip))
1060
1061
1062 define KernelPackage/sctp
1063 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1064 TITLE:=SCTP protocol kernel support
1065 KCONFIG:=\
1066 CONFIG_IP_SCTP \
1067 CONFIG_SCTP_DBG_MSG=n \
1068 CONFIG_SCTP_DBG_OBJCNT=n \
1069 CONFIG_SCTP_HMAC_NONE=n \
1070 CONFIG_SCTP_HMAC_SHA1=n \
1071 CONFIG_SCTP_HMAC_MD5=y \
1072 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
1073 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
1074 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
1075 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
1076 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1077 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
1078 AUTOLOAD:= $(call AutoLoad,32,sctp)
1079 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
1080 endef
1081
1082 define KernelPackage/sctp/description
1083 Kernel modules for SCTP protocol support
1084 endef
1085
1086 $(eval $(call KernelPackage,sctp))
1087
1088
1089 define KernelPackage/netem
1090 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1091 TITLE:=Network emulation functionality
1092 DEPENDS:=+kmod-sched
1093 KCONFIG:=CONFIG_NET_SCH_NETEM
1094 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
1095 AUTOLOAD:=$(call AutoLoad,99,netem)
1096 endef
1097
1098 define KernelPackage/netem/description
1099 Kernel modules for emulating the properties of wide area networks
1100 endef
1101
1102 $(eval $(call KernelPackage,netem))
1103
1104 define KernelPackage/slip
1105 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1106 DEPENDS:=+kmod-slhc
1107 TITLE:=SLIP modules
1108 KCONFIG:= \
1109 CONFIG_SLIP \
1110 CONFIG_SLIP_COMPRESSED=y \
1111 CONFIG_SLIP_SMART=y \
1112 CONFIG_SLIP_MODE_SLIP6=y
1113
1114 FILES:= \
1115 $(LINUX_DIR)/drivers/net/slip/slip.ko
1116 AUTOLOAD:=$(call AutoLoad,30,slip)
1117 endef
1118
1119 define KernelPackage/slip/description
1120 Kernel modules for SLIP support
1121 endef
1122
1123 $(eval $(call KernelPackage,slip))
1124
1125 define KernelPackage/dnsresolver
1126 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1127 TITLE:=In-kernel DNS Resolver
1128 KCONFIG:= CONFIG_DNS_RESOLVER
1129 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1130 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1131 endef
1132
1133 $(eval $(call KernelPackage,dnsresolver))
1134
1135 define KernelPackage/rxrpc
1136 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1137 TITLE:=AF_RXRPC support
1138 HIDDEN:=1
1139 KCONFIG:= \
1140 CONFIG_AF_RXRPC \
1141 CONFIG_RXKAD=m \
1142 CONFIG_AF_RXRPC_DEBUG=n
1143 FILES:= \
1144 $(LINUX_DIR)/net/rxrpc/rxrpc.ko
1145 AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
1146 DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
1147 endef
1148
1149 define KernelPackage/rxrpc/description
1150 Kernel support for AF_RXRPC; required for AFS client
1151 endef
1152
1153 $(eval $(call KernelPackage,rxrpc))
1154
1155 define KernelPackage/mpls
1156 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1157 TITLE:=MPLS support
1158 DEPENDS:=+kmod-iptunnel
1159 KCONFIG:= \
1160 CONFIG_MPLS=y \
1161 CONFIG_LWTUNNEL=y \
1162 CONFIG_LWTUNNEL_BPF=n \
1163 CONFIG_NET_MPLS_GSO=m \
1164 CONFIG_MPLS_ROUTING=m \
1165 CONFIG_MPLS_IPTUNNEL=m
1166 FILES:= \
1167 $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1168 $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1169 $(LINUX_DIR)/net/mpls/mpls_router.ko
1170 AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1171 endef
1172
1173 define KernelPackage/mpls/description
1174 Kernel support for MPLS
1175 endef
1176
1177 $(eval $(call KernelPackage,mpls))
1178
1179 define KernelPackage/9pnet
1180 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1181 TITLE:=Plan 9 Resource Sharing Support (9P2000)
1182 DEPENDS:=@VIRTIO_SUPPORT
1183 KCONFIG:= \
1184 CONFIG_NET_9P \
1185 CONFIG_NET_9P_DEBUG=n \
1186 CONFIG_NET_9P_XEN=n \
1187 CONFIG_NET_9P_VIRTIO
1188 FILES:= \
1189 $(LINUX_DIR)/net/9p/9pnet.ko \
1190 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1191 AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
1192 endef
1193
1194 define KernelPackage/9pnet/description
1195 Kernel support support for
1196 Plan 9 resource sharing via the 9P2000 protocol.
1197 endef
1198
1199 $(eval $(call KernelPackage,9pnet))
1200
1201
1202 define KernelPackage/nlmon
1203 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1204 TITLE:=Virtual netlink monitoring device
1205 KCONFIG:=CONFIG_NLMON
1206 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1207 AUTOLOAD:=$(call AutoProbe,nlmon)
1208 endef
1209
1210 define KernelPackage/nlmon/description
1211 Kernel module which adds a monitoring device for netlink.
1212 endef
1213
1214 $(eval $(call KernelPackage,nlmon))
1215
1216
1217 define KernelPackage/mdio
1218 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1219 TITLE:=MDIO (clause 45) PHY support
1220 KCONFIG:=CONFIG_MDIO
1221 HIDDEN:=1
1222 FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1223 AUTOLOAD:=$(call AutoLoad,32,mdio)
1224 endef
1225
1226 define KernelPackage/mdio/description
1227 Kernel modules for MDIO (clause 45) PHY support
1228 endef
1229
1230 $(eval $(call KernelPackage,mdio))
1231
1232 define KernelPackage/macsec
1233 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1234 TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1235 DEPENDS:=+kmod-crypto-gcm
1236 KCONFIG:=CONFIG_MACSEC
1237 FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1238 AUTOLOAD:=$(call AutoLoad,13,macsec)
1239 endef
1240
1241 define KernelPackage/macsec/description
1242 MACsec is an encryption standard for Ethernet.
1243 endef
1244
1245 $(eval $(call KernelPackage,macsec))
1246
1247
1248 define KernelPackage/netlink-diag
1249 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1250 TITLE:=Netlink diag support for ss utility
1251 KCONFIG:=CONFIG_NETLINK_DIAG
1252 FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
1253 AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
1254 endef
1255
1256 define KernelPackage/netlink-diag/description
1257 Netlink diag is a module made for use with iproute2's ss utility
1258 endef
1259
1260 $(eval $(call KernelPackage,netlink-diag))
1261
1262
1263 define KernelPackage/wireguard
1264 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1265 TITLE:=WireGuard secure network tunnel
1266 DEPENDS:= \
1267 +kmod-crypto-lib-blake2s \
1268 +kmod-crypto-lib-chacha20poly1305 \
1269 +kmod-crypto-lib-curve25519 \
1270 +kmod-udptunnel4 \
1271 +IPV6:kmod-udptunnel6
1272 KCONFIG:= \
1273 CONFIG_WIREGUARD \
1274 CONFIG_WIREGUARD_DEBUG=n
1275 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1276 AUTOLOAD:=$(call AutoProbe,wireguard)
1277 endef
1278
1279 define KernelPackage/wireguard/description
1280 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1281 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1282 more useful than IPSec, while avoiding the massive headache. It intends to
1283 be considerably more performant than OpenVPN. WireGuard is designed as a
1284 general purpose VPN for running on embedded interfaces and super computers
1285 alike, fit for many different circumstances. It uses UDP.
1286 endef
1287
1288 $(eval $(call KernelPackage,wireguard))