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