kernel: modules: netsupport: adapt for kernel 6.6
[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 DEPENDS:=PACKAGE_kmod-tls:kmod-tls
50 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
51 AUTOLOAD:=$(call AutoLoad,40,bonding)
52 MODPARAMS.bonding:=max_bonds=0
53 endef
54
55 define KernelPackage/bonding/description
56 Kernel module for NIC bonding.
57 endef
58
59 $(eval $(call KernelPackage,bonding))
60
61
62 define KernelPackage/udptunnel4
63 SUBMENU:=$(NETWORK_SUPPORT_MENU)
64 TITLE:=IPv4 UDP tunneling support
65 KCONFIG:=CONFIG_NET_UDP_TUNNEL
66 HIDDEN:=1
67 FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
68 AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
69 endef
70
71
72 $(eval $(call KernelPackage,udptunnel4))
73
74 define KernelPackage/udptunnel6
75 SUBMENU:=$(NETWORK_SUPPORT_MENU)
76 TITLE:=IPv6 UDP tunneling support
77 DEPENDS:=@IPV6
78 KCONFIG:=CONFIG_NET_UDP_TUNNEL
79 HIDDEN:=1
80 FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
81 AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
82 endef
83
84 $(eval $(call KernelPackage,udptunnel6))
85
86
87 define KernelPackage/vxlan
88 SUBMENU:=$(NETWORK_SUPPORT_MENU)
89 TITLE:=Native VXLAN Kernel support
90 DEPENDS:= \
91 +kmod-iptunnel \
92 +kmod-udptunnel4 \
93 +IPV6:kmod-udptunnel6
94 KCONFIG:=CONFIG_VXLAN
95 FILES:= \
96 $(LINUX_DIR)/drivers/net/vxlan/vxlan.ko
97 AUTOLOAD:=$(call AutoLoad,13,vxlan)
98 endef
99
100 define KernelPackage/vxlan/description
101 Kernel module for supporting VXLAN in the Kernel.
102 Requires Kernel 3.12 or newer.
103 endef
104
105 $(eval $(call KernelPackage,vxlan))
106
107
108 define KernelPackage/geneve
109 SUBMENU:=$(NETWORK_SUPPORT_MENU)
110 TITLE:=Generic Network Virtualization Encapsulation (Geneve) support
111 DEPENDS:= \
112 +kmod-iptunnel \
113 +kmod-udptunnel4 \
114 +IPV6:kmod-udptunnel6
115 KCONFIG:=CONFIG_GENEVE
116 FILES:= \
117 $(LINUX_DIR)/drivers/net/geneve.ko
118 AUTOLOAD:=$(call AutoLoad,13,geneve)
119 endef
120
121 define KernelPackage/geneve/description
122 Kernel module for supporting Geneve in the Kernel.
123 Requires Kernel 3.18 or newer.
124 endef
125
126 $(eval $(call KernelPackage,geneve))
127
128
129 define KernelPackage/nsh
130 SUBMENU:=$(NETWORK_SUPPORT_MENU)
131 TITLE:=Network Service Header (NSH) protocol
132 DEPENDS:=
133 KCONFIG:=CONFIG_NET_NSH
134 FILES:=$(LINUX_DIR)/net/nsh/nsh.ko
135 AUTOLOAD:=$(call AutoLoad,13,nsh)
136 endef
137
138 define KernelPackage/nsh/description
139 Network Service Header is an implementation of Service Function
140 Chaining (RFC 7665). Requires kernel 4.14 or newer
141 endef
142
143 $(eval $(call KernelPackage,nsh))
144
145
146 define KernelPackage/misdn
147 SUBMENU:=$(NETWORK_SUPPORT_MENU)
148 TITLE:=mISDN (ISDN) Support
149 KCONFIG:= \
150 CONFIG_ISDN=y \
151 CONFIG_MISDN \
152 CONFIG_MISDN_DSP \
153 CONFIG_MISDN_L1OIP
154 FILES:= \
155 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
156 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
157 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
158 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
159 endef
160
161 define KernelPackage/misdn/description
162 Modular ISDN driver support
163 endef
164
165 $(eval $(call KernelPackage,misdn))
166
167
168 define KernelPackage/ipip
169 SUBMENU:=$(NETWORK_SUPPORT_MENU)
170 TITLE:=IP-in-IP encapsulation
171 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
172 KCONFIG:=CONFIG_NET_IPIP
173 FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
174 AUTOLOAD:=$(call AutoLoad,32,ipip)
175 endef
176
177 define KernelPackage/ipip/description
178 Kernel modules for IP-in-IP encapsulation
179 endef
180
181 $(eval $(call KernelPackage,ipip))
182
183
184 IPSEC-m:= \
185 xfrm/xfrm_algo \
186 xfrm/xfrm_ipcomp \
187 xfrm/xfrm_user \
188 key/af_key \
189
190 define KernelPackage/ipsec
191 SUBMENU:=$(NETWORK_SUPPORT_MENU)
192 TITLE:=IPsec related modules (IPv4 and IPv6)
193 DEPENDS:= \
194 +kmod-crypto-authenc +kmod-crypto-cbc +kmod-crypto-deflate \
195 +kmod-crypto-des +kmod-crypto-echainiv +kmod-crypto-hmac \
196 +kmod-crypto-md5 +kmod-crypto-sha1
197 KCONFIG:= \
198 CONFIG_NET_KEY \
199 CONFIG_XFRM_USER \
200 CONFIG_INET_IPCOMP \
201 CONFIG_XFRM_IPCOMP
202 FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
203 AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
204 endef
205
206 define KernelPackage/ipsec/description
207 Kernel modules for IPsec support in both IPv4 and IPv6.
208 Includes:
209 - af_key
210 - xfrm_algo
211 - xfrm_ipcomp
212 - xfrm_user
213 endef
214
215 $(eval $(call KernelPackage,ipsec))
216
217 IPSEC4-m = \
218 ipv4/ah4 \
219 ipv4/esp4 \
220 ipv4/ipcomp \
221 ipv4/xfrm4_tunnel
222
223 define KernelPackage/ipsec4
224 SUBMENU:=$(NETWORK_SUPPORT_MENU)
225 TITLE:=IPsec related modules (IPv4)
226 DEPENDS:=kmod-ipsec +kmod-iptunnel4
227 KCONFIG:= \
228 CONFIG_INET_AH \
229 CONFIG_INET_ESP \
230 CONFIG_INET_IPCOMP \
231 CONFIG_INET_XFRM_TUNNEL \
232 CONFIG_INET_ESP_OFFLOAD=n
233 FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
234 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
235 endef
236
237 define KernelPackage/ipsec4/description
238 Kernel modules for IPsec support in IPv4.
239 Includes:
240 - ah4
241 - esp4
242 - ipcomp4
243 - xfrm4_tunnel
244 endef
245
246 $(eval $(call KernelPackage,ipsec4))
247
248
249 IPSEC6-m = \
250 ipv6/ah6 \
251 ipv6/esp6 \
252 ipv6/ipcomp6 \
253 ipv6/xfrm6_tunnel
254
255 define KernelPackage/ipsec6
256 SUBMENU:=$(NETWORK_SUPPORT_MENU)
257 TITLE:=IPsec related modules (IPv6)
258 DEPENDS:=@IPV6 kmod-ipsec +kmod-iptunnel6
259 KCONFIG:= \
260 CONFIG_INET6_AH \
261 CONFIG_INET6_ESP \
262 CONFIG_INET6_IPCOMP \
263 CONFIG_INET6_XFRM_TUNNEL \
264 CONFIG_INET6_ESP_OFFLOAD=n
265 FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
266 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
267 endef
268
269 define KernelPackage/ipsec6/description
270 Kernel modules for IPsec support in IPv6.
271 Includes:
272 - ah6
273 - esp6
274 - ipcomp6
275 - xfrm6_tunnel
276 endef
277
278 $(eval $(call KernelPackage,ipsec6))
279
280
281 define KernelPackage/iptunnel
282 SUBMENU:=$(NETWORK_SUPPORT_MENU)
283 TITLE:=IP tunnel support
284 HIDDEN:=1
285 KCONFIG:= \
286 CONFIG_NET_IP_TUNNEL
287 FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
288 AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
289 endef
290
291 define KernelPackage/iptunnel/description
292 Kernel module for generic IP tunnel support
293 endef
294
295 $(eval $(call KernelPackage,iptunnel))
296
297
298 define KernelPackage/ip-vti
299 SUBMENU:=$(NETWORK_SUPPORT_MENU)
300 TITLE:=IP VTI (Virtual Tunnel Interface)
301 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4
302 KCONFIG:=CONFIG_NET_IPVTI
303 FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko
304 AUTOLOAD:=$(call AutoLoad,33,ip_vti)
305 endef
306
307 define KernelPackage/ip-vti/description
308 Kernel modules for IP VTI (Virtual Tunnel Interface)
309 endef
310
311 $(eval $(call KernelPackage,ip-vti))
312
313
314 define KernelPackage/ip6-vti
315 SUBMENU:=$(NETWORK_SUPPORT_MENU)
316 TITLE:=IPv6 VTI (Virtual Tunnel Interface)
317 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-ipsec6
318 KCONFIG:=CONFIG_IPV6_VTI
319 FILES:=$(LINUX_DIR)/net/ipv6/ip6_vti.ko
320 AUTOLOAD:=$(call AutoLoad,33,ip6_vti)
321 endef
322
323 define KernelPackage/ip6-vti/description
324 Kernel modules for IPv6 VTI (Virtual Tunnel Interface)
325 endef
326
327 $(eval $(call KernelPackage,ip6-vti))
328
329
330 define KernelPackage/xfrm-interface
331 SUBMENU:=$(NETWORK_SUPPORT_MENU)
332 TITLE:=IPsec XFRM Interface
333 DEPENDS:=@IPV6 +kmod-ipsec4 +kmod-ipsec6
334 KCONFIG:=CONFIG_XFRM_INTERFACE
335 FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko
336 AUTOLOAD:=$(call AutoProbe,xfrm_interface)
337 endef
338
339 define KernelPackage/xfrm-interface/description
340 Kernel module for XFRM interface support
341 endef
342
343 $(eval $(call KernelPackage,xfrm-interface))
344
345
346 define KernelPackage/iptunnel4
347 SUBMENU:=$(NETWORK_SUPPORT_MENU)
348 TITLE:=IPv4 tunneling
349 HIDDEN:=1
350 KCONFIG:= \
351 CONFIG_INET_TUNNEL \
352 CONFIG_NET_IPIP=m
353 FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
354 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
355 endef
356
357 define KernelPackage/iptunnel4/description
358 Kernel modules for IPv4 tunneling
359 endef
360
361 $(eval $(call KernelPackage,iptunnel4))
362
363
364 define KernelPackage/iptunnel6
365 SUBMENU:=$(NETWORK_SUPPORT_MENU)
366 TITLE:=IPv6 tunneling
367 DEPENDS:=@IPV6
368 KCONFIG:= \
369 CONFIG_INET6_TUNNEL
370 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
371 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
372 endef
373
374 define KernelPackage/iptunnel6/description
375 Kernel modules for IPv6 tunneling
376 endef
377
378 $(eval $(call KernelPackage,iptunnel6))
379
380
381 define KernelPackage/sit
382 SUBMENU:=$(NETWORK_SUPPORT_MENU)
383 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-iptunnel4
384 TITLE:=IPv6-in-IPv4 tunnel
385 KCONFIG:=CONFIG_IPV6_SIT \
386 CONFIG_IPV6_SIT_6RD=y
387 FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
388 AUTOLOAD:=$(call AutoLoad,32,sit)
389 endef
390
391 define KernelPackage/sit/description
392 Kernel modules for IPv6-in-IPv4 tunnelling
393 endef
394
395 $(eval $(call KernelPackage,sit))
396
397
398 define KernelPackage/fou
399 SUBMENU:=$(NETWORK_SUPPORT_MENU)
400 TITLE:=FOU and GUE decapsulation
401 DEPENDS:= \
402 +kmod-iptunnel \
403 +kmod-udptunnel4 \
404 +IPV6:kmod-udptunnel6
405 KCONFIG:= \
406 CONFIG_NET_FOU \
407 CONFIG_NET_FOU_IP_TUNNELS=y
408 FILES:=$(LINUX_DIR)/net/ipv4/fou.ko
409 AUTOLOAD:=$(call AutoProbe,fou)
410 endef
411
412 define KernelPackage/fou/description
413 Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling.
414 Requires Kernel 3.18 or newer.
415 endef
416
417 $(eval $(call KernelPackage,fou))
418
419
420 define KernelPackage/fou6
421 SUBMENU:=$(NETWORK_SUPPORT_MENU)
422 TITLE:=FOU and GUE decapsulation over IPv6
423 DEPENDS:= @IPV6 \
424 +kmod-fou \
425 +kmod-ip6-tunnel
426 KCONFIG:= \
427 CONFIG_IPV6_FOU \
428 CONFIG_IPV6_FOU_TUNNEL
429 FILES:=$(LINUX_DIR)/net/ipv6/fou6.ko
430 AUTOLOAD:=$(call AutoProbe,fou6)
431 endef
432
433 define KernelPackage/fou6/description
434 Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling over IPv6.
435 Requires Kernel 3.18 or newer.
436 endef
437
438 $(eval $(call KernelPackage,fou6))
439
440
441 define KernelPackage/ip6-tunnel
442 SUBMENU:=$(NETWORK_SUPPORT_MENU)
443 TITLE:=IP-in-IPv6 tunnelling
444 DEPENDS:=@IPV6 +kmod-iptunnel6
445 KCONFIG:= CONFIG_IPV6_TUNNEL
446 FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
447 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
448 endef
449
450 define KernelPackage/ip6-tunnel/description
451 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
452 endef
453
454 $(eval $(call KernelPackage,ip6-tunnel))
455
456
457 define KernelPackage/gre
458 SUBMENU:=$(NETWORK_SUPPORT_MENU)
459 TITLE:=GRE support
460 DEPENDS:=+kmod-iptunnel
461 KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
462 FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
463 AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
464 endef
465
466 define KernelPackage/gre/description
467 Generic Routing Encapsulation support
468 endef
469
470 $(eval $(call KernelPackage,gre))
471
472
473 define KernelPackage/gre6
474 SUBMENU:=$(NETWORK_SUPPORT_MENU)
475 TITLE:=GRE support over IPV6
476 DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-gre
477 KCONFIG:=CONFIG_IPV6_GRE
478 FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
479 AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
480 endef
481
482 define KernelPackage/gre6/description
483 Generic Routing Encapsulation support over IPv6
484 endef
485
486 $(eval $(call KernelPackage,gre6))
487
488
489 define KernelPackage/tun
490 SUBMENU:=$(NETWORK_SUPPORT_MENU)
491 TITLE:=Universal TUN/TAP driver
492 KCONFIG:=CONFIG_TUN
493 FILES:=$(LINUX_DIR)/drivers/net/tun.ko
494 AUTOLOAD:=$(call AutoLoad,30,tun)
495 endef
496
497 define KernelPackage/tun/description
498 Kernel support for the TUN/TAP tunneling device
499 endef
500
501 $(eval $(call KernelPackage,tun))
502
503
504 define KernelPackage/veth
505 SUBMENU:=$(NETWORK_SUPPORT_MENU)
506 TITLE:=Virtual ethernet pair device
507 KCONFIG:=CONFIG_VETH
508 FILES:=$(LINUX_DIR)/drivers/net/veth.ko
509 AUTOLOAD:=$(call AutoLoad,30,veth)
510 endef
511
512 define KernelPackage/veth/description
513 This device is a local ethernet tunnel. Devices are created in pairs.
514 When one end receives the packet it appears on its pair and vice
515 versa.
516 endef
517
518 $(eval $(call KernelPackage,veth))
519
520
521 define KernelPackage/vrf
522 SUBMENU:=$(NETWORK_SUPPORT_MENU)
523 TITLE:=Virtual Routing and Forwarding (Lite)
524 DEPENDS:=@KERNEL_NET_L3_MASTER_DEV
525 KCONFIG:=CONFIG_NET_VRF
526 FILES:=$(LINUX_DIR)/drivers/net/vrf.ko
527 AUTOLOAD:=$(call AutoLoad,30,vrf)
528 endef
529
530 define KernelPackage/vrf/description
531 This option enables the support for mapping interfaces into VRF's. The
532 support enables VRF devices.
533 endef
534
535 $(eval $(call KernelPackage,vrf))
536
537
538 define KernelPackage/slhc
539 SUBMENU:=$(NETWORK_SUPPORT_MENU)
540 HIDDEN:=1
541 TITLE:=Serial Line Header Compression
542 DEPENDS:=+kmod-lib-crc-ccitt
543 KCONFIG:=CONFIG_SLHC
544 FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
545 endef
546
547 $(eval $(call KernelPackage,slhc))
548
549
550 define KernelPackage/ppp
551 SUBMENU:=$(NETWORK_SUPPORT_MENU)
552 TITLE:=PPP modules
553 DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
554 KCONFIG:= \
555 CONFIG_PPP \
556 CONFIG_PPP_ASYNC
557 FILES:= \
558 $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
559 $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
560 AUTOLOAD:=$(call AutoProbe,ppp_async)
561 endef
562
563 define KernelPackage/ppp/description
564 Kernel modules for PPP support
565 endef
566
567 $(eval $(call KernelPackage,ppp))
568
569
570 define KernelPackage/ppp-synctty
571 SUBMENU:=$(NETWORK_SUPPORT_MENU)
572 TITLE:=PPP sync tty support
573 DEPENDS:=kmod-ppp
574 KCONFIG:=CONFIG_PPP_SYNC_TTY
575 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
576 AUTOLOAD:=$(call AutoProbe,ppp_synctty)
577 endef
578
579 define KernelPackage/ppp-synctty/description
580 Kernel modules for PPP sync tty support
581 endef
582
583 $(eval $(call KernelPackage,ppp-synctty))
584
585
586 define KernelPackage/pppox
587 SUBMENU:=$(NETWORK_SUPPORT_MENU)
588 TITLE:=PPPoX helper
589 DEPENDS:=kmod-ppp
590 KCONFIG:=CONFIG_PPPOE
591 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
592 endef
593
594 define KernelPackage/pppox/description
595 Kernel helper module for PPPoE and PPTP support
596 endef
597
598 $(eval $(call KernelPackage,pppox))
599
600
601 define KernelPackage/pppoe
602 SUBMENU:=$(NETWORK_SUPPORT_MENU)
603 TITLE:=PPPoE support
604 DEPENDS:=kmod-ppp +kmod-pppox
605 KCONFIG:=CONFIG_PPPOE
606 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
607 AUTOLOAD:=$(call AutoProbe,pppoe)
608 endef
609
610 define KernelPackage/pppoe/description
611 Kernel module for PPPoE (PPP over Ethernet) support
612 endef
613
614 $(eval $(call KernelPackage,pppoe))
615
616
617 define KernelPackage/pppoa
618 SUBMENU:=$(NETWORK_SUPPORT_MENU)
619 TITLE:=PPPoA support
620 DEPENDS:=kmod-ppp +kmod-atm
621 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
622 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
623 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
624 endef
625
626 define KernelPackage/pppoa/description
627 Kernel modules for PPPoA (PPP over ATM) support
628 endef
629
630 $(eval $(call KernelPackage,pppoa))
631
632
633 define KernelPackage/pptp
634 SUBMENU:=$(NETWORK_SUPPORT_MENU)
635 TITLE:=PPtP support
636 DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
637 KCONFIG:=CONFIG_PPTP
638 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
639 AUTOLOAD:=$(call AutoProbe,pptp)
640 endef
641
642 $(eval $(call KernelPackage,pptp))
643
644
645 define KernelPackage/pppol2tp
646 SUBMENU:=$(NETWORK_SUPPORT_MENU)
647 TITLE:=PPPoL2TP support
648 DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
649 KCONFIG:=CONFIG_PPPOL2TP
650 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
651 AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
652 endef
653
654 define KernelPackage/pppol2tp/description
655 Kernel modules for PPPoL2TP (PPP over L2TP) support
656 endef
657
658 $(eval $(call KernelPackage,pppol2tp))
659
660
661 define KernelPackage/ipoa
662 SUBMENU:=$(NETWORK_SUPPORT_MENU)
663 TITLE:=IPoA support
664 DEPENDS:=kmod-atm
665 KCONFIG:=CONFIG_ATM_CLIP
666 FILES:=$(LINUX_DIR)/net/atm/clip.ko
667 AUTOLOAD:=$(call AutoProbe,clip)
668 endef
669
670 define KernelPackage/ipoa/description
671 Kernel modules for IPoA (IP over ATM) support
672 endef
673
674 $(eval $(call KernelPackage,ipoa))
675
676
677 define KernelPackage/mppe
678 SUBMENU:=$(NETWORK_SUPPORT_MENU)
679 TITLE:=Microsoft PPP compression/encryption
680 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
681 KCONFIG:= \
682 CONFIG_PPP_MPPE_MPPC \
683 CONFIG_PPP_MPPE
684 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
685 AUTOLOAD:=$(call AutoProbe,ppp_mppe)
686 endef
687
688 define KernelPackage/mppe/description
689 Kernel modules for Microsoft PPP compression/encryption
690 endef
691
692 $(eval $(call KernelPackage,mppe))
693
694
695 SCHED_MODULES_CORE = sch_ingress sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
696 SCHED_FILES_CORE = $(foreach mod,$(SCHED_MODULES_CORE),$(LINUX_DIR)/net/sched/$(mod).ko)
697
698 define KernelPackage/sched-core
699 SUBMENU:=$(NETWORK_SUPPORT_MENU)
700 TITLE:=Traffic schedulers
701 KCONFIG:= \
702 CONFIG_NET_SCHED=y \
703 CONFIG_NET_SCH_HFSC \
704 CONFIG_NET_SCH_HTB \
705 CONFIG_NET_SCH_TBF \
706 CONFIG_NET_SCH_INGRESS \
707 CONFIG_NET_CLS=y \
708 CONFIG_NET_CLS_ACT=y \
709 CONFIG_NET_CLS_BASIC \
710 CONFIG_NET_CLS_FLOW \
711 CONFIG_NET_CLS_FW \
712 CONFIG_NET_CLS_ROUTE4 \
713 CONFIG_NET_CLS_U32 \
714 CONFIG_NET_ACT_GACT \
715 CONFIG_NET_ACT_MIRRED \
716 CONFIG_NET_ACT_SKBEDIT \
717 CONFIG_NET_CLS_MATCHALL \
718 CONFIG_NET_EMATCH=y \
719 CONFIG_NET_EMATCH_U32
720 FILES:=$(SCHED_FILES_CORE)
721 AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
722 endef
723
724 define KernelPackage/sched-core/description
725 Core kernel scheduler support for IP traffic
726 endef
727
728 $(eval $(call KernelPackage,sched-core))
729
730
731 define KernelPackage/sched-act-police
732 SUBMENU:=$(NETWORK_SUPPORT_MENU)
733 TITLE:=Traffic Policing
734 DEPENDS:=+kmod-sched-core
735 KCONFIG:=CONFIG_NET_ACT_POLICE
736 FILES:=$(LINUX_DIR)/net/sched/act_police.ko
737 AUTOLOAD:=$(call AutoProbe,act_police)
738 endef
739
740 $(eval $(call KernelPackage,sched-act-police))
741
742
743 define KernelPackage/sched-act-sample
744 SUBMENU:=$(NETWORK_SUPPORT_MENU)
745 TITLE:=Traffic Sampling
746 DEPENDS:=+kmod-sched-core
747 KCONFIG:= \
748 CONFIG_NET_ACT_SAMPLE \
749 CONFIG_PSAMPLE
750 FILES:= \
751 $(LINUX_DIR)/net/psample/psample.ko \
752 $(LINUX_DIR)/net/sched/act_sample.ko
753 AUTOLOAD:=$(call AutoProbe,act_sample psample)
754 endef
755
756 define KernelPackage/sched-act-sample/description
757 Packet sampling tc action.
758 endef
759
760 $(eval $(call KernelPackage,sched-act-sample))
761
762
763 define KernelPackage/sched-act-ipt
764 SUBMENU:=$(NETWORK_SUPPORT_MENU)
765 TITLE:=IPtables targets
766 DEPENDS:=+kmod-ipt-core +kmod-sched-core
767 KCONFIG:=CONFIG_NET_ACT_IPT
768 FILES:=$(LINUX_DIR)/net/sched/act_ipt.ko
769 AUTOLOAD:=$(call AutoProbe, act_ipt)
770 endef
771
772 define KernelPackage/sched-act-ipt/description
773 Allows to invoke iptables targets after successful classification.
774 endef
775
776 $(eval $(call KernelPackage,sched-act-ipt))
777
778
779 define KernelPackage/sched-act-vlan
780 SUBMENU:=$(NETWORK_SUPPORT_MENU)
781 TITLE:=Traffic VLAN manipulation
782 DEPENDS:=+kmod-sched-core
783 KCONFIG:=CONFIG_NET_ACT_VLAN
784 FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko
785 AUTOLOAD:=$(call AutoProbe, act_vlan)
786 endef
787
788 define KernelPackage/sched-act-vlan/description
789 Allows to configure rules to push or pop vlan headers.
790 endef
791
792 $(eval $(call KernelPackage,sched-act-vlan))
793
794
795 define KernelPackage/sched-bpf
796 SUBMENU:=$(NETWORK_SUPPORT_MENU)
797 TITLE:=Traffic shaper support for Berkeley Packet Filter
798 KCONFIG:= \
799 CONFIG_NET_CLS_BPF \
800 CONFIG_NET_ACT_BPF
801 FILES:= \
802 $(LINUX_DIR)/net/sched/cls_bpf.ko \
803 $(LINUX_DIR)/net/sched/act_bpf.ko
804 AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf)
805 endef
806
807 $(eval $(call KernelPackage,sched-bpf))
808
809
810 define KernelPackage/sched-cake
811 SUBMENU:=$(NETWORK_SUPPORT_MENU)
812 TITLE:=Cake fq_codel/blue derived shaper
813 DEPENDS:=+kmod-sched-core
814 KCONFIG:=CONFIG_NET_SCH_CAKE
815 FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko
816 AUTOLOAD:=$(call AutoProbe,sch_cake)
817 endef
818
819 define KernelPackage/sched-cake/description
820 Common Applications Kept Enhanced fq_codel/blue derived shaper
821 endef
822
823 $(eval $(call KernelPackage,sched-cake))
824
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
837 define KernelPackage/sched-ctinfo
838 SUBMENU:=$(NETWORK_SUPPORT_MENU)
839 TITLE:=Traffic shaper ctinfo support
840 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
841 KCONFIG:=CONFIG_NET_ACT_CTINFO
842 FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
843 AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
844 endef
845 $(eval $(call KernelPackage,sched-ctinfo))
846
847
848 define KernelPackage/sched-drr
849 SUBMENU:=$(NETWORK_SUPPORT_MENU)
850 TITLE:=Deficit Round Robin scheduler (DRR)
851 DEPENDS:=+kmod-sched-core
852 KCONFIG:=CONFIG_NET_SCH_DRR
853 FILES:=$(LINUX_DIR)/net/sched/sch_drr.ko
854 AUTOLOAD:=$(call AutoProbe,sch_drr)
855 endef
856
857 define KernelPackage/sched-drr/description
858 DRR algorithm Configuration
859 endef
860
861 $(eval $(call KernelPackage,sched-drr))
862
863
864 define KernelPackage/sched-flower
865 SUBMENU:=$(NETWORK_SUPPORT_MENU)
866 TITLE:=Flower traffic classifier
867 DEPENDS:=+kmod-sched-core
868 KCONFIG:=CONFIG_NET_CLS_FLOWER
869 FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
870 AUTOLOAD:=$(call AutoProbe, cls_flower)
871 endef
872
873 define KernelPackage/sched-flower/description
874 Allows to classify packets based on a configurable combination of packet keys and masks.
875 endef
876
877 $(eval $(call KernelPackage,sched-flower))
878
879
880 define KernelPackage/sched-fq-pie
881 SUBMENU:=$(NETWORK_SUPPORT_MENU)
882 TITLE:=Flow Queue Proportional Integral Enhanced (FQ-PIE)
883 DEPENDS:=+kmod-sched-core +kmod-sched-pie
884 KCONFIG:=CONFIG_NET_SCH_FQ_PIE
885 FILES:=$(LINUX_DIR)/net/sched/sch_fq_pie.ko
886 AUTOLOAD:=$(call AutoProbe, sch_fq_pie)
887 endef
888
889 define KernelPackage/sched-fq-pie/description
890 A queuing discipline that combines Flow Queuing with the PIE AQM.
891 endef
892
893 $(eval $(call KernelPackage,sched-fq-pie))
894
895
896 define KernelPackage/sched-ipset
897 SUBMENU:=$(NETWORK_SUPPORT_MENU)
898 TITLE:=Traffic shaper ipset support
899 DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
900 KCONFIG:= \
901 CONFIG_NET_EMATCH_IPSET
902 FILES:= \
903 $(LINUX_DIR)/net/sched/em_ipset.ko
904 AUTOLOAD:=$(call AutoLoad,72,em_ipset)
905 endef
906
907 $(eval $(call KernelPackage,sched-ipset))
908
909
910 define KernelPackage/sched-mqprio-common
911 SUBMENU:=$(NETWORK_SUPPORT_MENU)
912 TITLE:=mqprio queue common dependencies support
913 DEPENDS:=@LINUX_6_6
914 HIDDEN:=1
915 KCONFIG:=CONFIG_NET_SCH_MQPRIO_LIB
916 FILES:=$(LINUX_DIR)/net/sched/sch_mqprio_lib.ko
917 endef
918
919 define KernelPackage/sched-mqprio-common/description
920 Common library for manipulating mqprio queue configurations
921 endef
922
923 $(eval $(call KernelPackage,sched-mqprio-common))
924
925
926 define KernelPackage/sched-mqprio
927 SUBMENU:=$(NETWORK_SUPPORT_MENU)
928 TITLE:=Multi-queue priority scheduler (MQPRIO)
929 DEPENDS:=+kmod-sched-core +LINUX_6_6:kmod-sched-mqprio-common
930 KCONFIG:=CONFIG_NET_SCH_MQPRIO
931 FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
932 AUTOLOAD:=$(call AutoProbe, sch_mqprio)
933 endef
934
935 define KernelPackage/sched-mqprio/description
936 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
937 endef
938
939 $(eval $(call KernelPackage,sched-mqprio))
940
941
942 define KernelPackage/sched-pie
943 SUBMENU:=$(NETWORK_SUPPORT_MENU)
944 TITLE:=Proportional Integral controller-Enhanced AQM (PIE)
945 DEPENDS:=+kmod-sched-core
946 KCONFIG:=CONFIG_NET_SCH_PIE
947 FILES:=$(LINUX_DIR)/net/sched/sch_pie.ko
948 AUTOLOAD:=$(call AutoProbe, sch_pie)
949 endef
950
951 define KernelPackage/sched-pie/description
952 A control theoretic active queue management scheme.
953 endef
954
955 $(eval $(call KernelPackage,sched-pie))
956
957
958 define KernelPackage/sched-prio
959 SUBMENU:=$(NETWORK_SUPPORT_MENU)
960 TITLE:=Multi Band Priority Queueing (PRIO)
961 DEPENDS:=+kmod-sched-core
962 KCONFIG:=CONFIG_NET_SCH_PRIO
963 FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko
964 AUTOLOAD:=$(call AutoProbe,sch_prio)
965 endef
966
967 define KernelPackage/sched-prio/description
968 PRIO algorithm Configuration
969 endef
970
971 $(eval $(call KernelPackage,sched-prio))
972
973
974 define KernelPackage/sched-red
975 SUBMENU:=$(NETWORK_SUPPORT_MENU)
976 TITLE:=Random Early Detection (RED)
977 DEPENDS:=+kmod-sched-core
978 KCONFIG:=CONFIG_NET_SCH_RED
979 FILES:=$(LINUX_DIR)/net/sched/sch_red.ko
980 AUTOLOAD:=$(call AutoProbe,sch_red)
981 endef
982
983 define KernelPackage/sched-red/description
984 Random Early Detection (RED) algorithm Configuration
985 endef
986
987 $(eval $(call KernelPackage,sched-red))
988
989
990 define KernelPackage/sched-skbprio
991 SUBMENU:=$(NETWORK_SUPPORT_MENU)
992 TITLE:=SKB priority queue scheduler (SKBPRIO)
993 DEPENDS:=+kmod-sched-core
994 KCONFIG:= CONFIG_NET_SCH_SKBPRIO
995 FILES:= $(LINUX_DIR)/net/sched/sch_skbprio.ko
996 AUTOLOAD:=$(call AutoProbe,sch_skbprio)
997 endef
998
999 $(eval $(call KernelPackage,sched-skbprio))
1000
1001
1002 define KernelPackage/bpf-test
1003 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1004 TITLE:=Test Berkeley Packet Filter functionality
1005 KCONFIG:=CONFIG_TEST_BPF
1006 FILES:=$(LINUX_DIR)/lib/test_bpf.ko
1007 endef
1008
1009 $(eval $(call KernelPackage,bpf-test))
1010
1011
1012 SCHED_MODULES_EXTRA = sch_codel sch_gred sch_multiq sch_sfq sch_teql sch_fq act_pedit act_simple act_skbmod act_csum em_cmp em_nbyte em_meta em_text
1013 SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
1014
1015 define KernelPackage/sched
1016 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1017 TITLE:=Extra traffic schedulers
1018 DEPENDS:=+kmod-sched-core +kmod-lib-crc32c +kmod-lib-textsearch
1019 KCONFIG:= \
1020 CONFIG_NET_SCH_CODEL \
1021 CONFIG_NET_SCH_GRED \
1022 CONFIG_NET_SCH_MULTIQ \
1023 CONFIG_NET_SCH_SFQ \
1024 CONFIG_NET_SCH_TEQL \
1025 CONFIG_NET_SCH_FQ \
1026 CONFIG_NET_ACT_PEDIT \
1027 CONFIG_NET_ACT_SIMP \
1028 CONFIG_NET_ACT_SKBMOD \
1029 CONFIG_NET_ACT_CSUM \
1030 CONFIG_NET_EMATCH_CMP \
1031 CONFIG_NET_EMATCH_NBYTE \
1032 CONFIG_NET_EMATCH_META \
1033 CONFIG_NET_EMATCH_TEXT
1034 FILES:=$(SCHED_FILES_EXTRA)
1035 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
1036 endef
1037
1038 define KernelPackage/sched/description
1039 Extra kernel schedulers modules for IP traffic
1040 endef
1041
1042 SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
1043
1044 define KernelPackage/sched/install
1045 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
1046 $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
1047 endef
1048
1049 $(eval $(call KernelPackage,sched))
1050
1051
1052 define KernelPackage/tcp-bbr
1053 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1054 TITLE:=BBR TCP congestion control
1055 KCONFIG:=CONFIG_TCP_CONG_BBR
1056 FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
1057 AUTOLOAD:=$(call AutoProbe,tcp_bbr)
1058 endef
1059
1060 define KernelPackage/tcp-bbr/description
1061 Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
1062 control. It requires the fq ("Fair Queue") pacing packet scheduler.
1063 For kernel 4.13+, TCP internal pacing is implemented as fallback.
1064 endef
1065
1066 TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
1067
1068 define KernelPackage/tcp-bbr/install
1069 $(INSTALL_DIR) $(1)/etc/sysctl.d
1070 $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
1071 endef
1072
1073 $(eval $(call KernelPackage,tcp-bbr))
1074
1075 define KernelPackage/tls
1076 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1077 TITLE:=In-kernel TLS Support with HW Offload
1078 KCONFIG:=CONFIG_TLS \
1079 CONFIG_TLS_DEVICE=y
1080 FILES:=$(LINUX_DIR)/net/tls/tls.ko
1081 AUTOLOAD:=$(call AutoProbe,tls)
1082 endef
1083
1084 define KernelPackage/tls/description
1085 Kernel module for in-kernel TLS protocol support and hw offload
1086 (to supported interfaces).
1087 This allows symmetric encryption handling of the TLS protocol to
1088 be done in-kernel and it's HW offload when available.
1089 endef
1090
1091 $(eval $(call KernelPackage,tls))
1092
1093
1094 define KernelPackage/tcp-hybla
1095 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1096 TITLE:=TCP-Hybla congestion control algorithm
1097 KCONFIG:=CONFIG_TCP_CONG_HYBLA
1098 FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
1099 AUTOLOAD:=$(call AutoProbe,tcp_hybla)
1100 endef
1101
1102 define KernelPackage/tcp-hybla/description
1103 TCP-Hybla is a sender-side only change that eliminates penalization of
1104 long-RTT, large-bandwidth connections, like when satellite legs are
1105 involved, especially when sharing a common bottleneck with normal
1106 terrestrial connections.
1107 endef
1108
1109 $(eval $(call KernelPackage,tcp-hybla))
1110
1111
1112 define KernelPackage/tcp-scalable
1113 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1114 TITLE:=TCP-Scalable congestion control algorithm
1115 KCONFIG:=CONFIG_TCP_CONG_SCALABLE
1116 FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko
1117 AUTOLOAD:=$(call AutoProbe,tcp-scalable)
1118 endef
1119
1120 define KernelPackage/tcp-scalable/description
1121 Scalable TCP is a sender-side only change to TCP which uses a
1122 MIMD congestion control algorithm which has some nice scaling
1123 properties, though is known to have fairness issues.
1124 See http://www.deneholme.net/tom/scalable/
1125 endef
1126
1127 $(eval $(call KernelPackage,tcp-scalable))
1128
1129
1130 define KernelPackage/ax25
1131 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1132 TITLE:=AX25 support
1133 DEPENDS:=+kmod-lib-crc16
1134 KCONFIG:= \
1135 CONFIG_HAMRADIO=y \
1136 CONFIG_AX25 \
1137 CONFIG_MKISS
1138 FILES:= \
1139 $(LINUX_DIR)/net/ax25/ax25.ko \
1140 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
1141 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
1142 endef
1143
1144 define KernelPackage/ax25/description
1145 Kernel modules for AX25 support
1146 endef
1147
1148 $(eval $(call KernelPackage,ax25))
1149
1150
1151 define KernelPackage/pktgen
1152 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1153 DEPENDS:=@!TARGET_uml
1154 TITLE:=Network packet generator
1155 KCONFIG:=CONFIG_NET_PKTGEN
1156 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
1157 AUTOLOAD:=$(call AutoLoad,99,pktgen)
1158 endef
1159
1160 define KernelPackage/pktgen/description
1161 Kernel modules for the Network Packet Generator
1162 endef
1163
1164 $(eval $(call KernelPackage,pktgen))
1165
1166 define KernelPackage/l2tp
1167 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1168 TITLE:=Layer Two Tunneling Protocol (L2TP)
1169 DEPENDS:= \
1170 +kmod-udptunnel4 \
1171 +IPV6:kmod-udptunnel6
1172 KCONFIG:=CONFIG_L2TP \
1173 CONFIG_L2TP_V3=y \
1174 CONFIG_L2TP_DEBUGFS=n
1175 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
1176 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
1177 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
1178 endef
1179
1180 define KernelPackage/l2tp/description
1181 Kernel modules for L2TP V3 Support
1182 endef
1183
1184 $(eval $(call KernelPackage,l2tp))
1185
1186
1187 define KernelPackage/l2tp-eth
1188 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1189 TITLE:=L2TP ethernet pseudowire support for L2TPv3
1190 DEPENDS:=+kmod-l2tp
1191 KCONFIG:=CONFIG_L2TP_ETH
1192 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
1193 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
1194 endef
1195
1196 define KernelPackage/l2tp-eth/description
1197 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1198 endef
1199
1200 $(eval $(call KernelPackage,l2tp-eth))
1201
1202 define KernelPackage/l2tp-ip
1203 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1204 TITLE:=L2TP IP encapsulation for L2TPv3
1205 DEPENDS:=+kmod-l2tp
1206 KCONFIG:=CONFIG_L2TP_IP
1207 FILES:= \
1208 $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
1209 $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
1210 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
1211 endef
1212
1213 define KernelPackage/l2tp-ip/description
1214 Kernel modules for L2TP IP encapsulation for L2TPv3
1215 endef
1216
1217 $(eval $(call KernelPackage,l2tp-ip))
1218
1219
1220 define KernelPackage/sctp
1221 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1222 TITLE:=SCTP protocol kernel support
1223 KCONFIG:=\
1224 CONFIG_IP_SCTP \
1225 CONFIG_SCTP_DBG_MSG=n \
1226 CONFIG_SCTP_DBG_OBJCNT=n \
1227 CONFIG_SCTP_HMAC_NONE=n \
1228 CONFIG_SCTP_HMAC_SHA1=n \
1229 CONFIG_SCTP_HMAC_MD5=y \
1230 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
1231 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
1232 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
1233 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
1234 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1235 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
1236 AUTOLOAD:= $(call AutoLoad,32,sctp)
1237 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \
1238 +kmod-udptunnel4 +kmod-udptunnel6
1239 endef
1240
1241 define KernelPackage/sctp/description
1242 Kernel modules for SCTP protocol support
1243 endef
1244
1245 $(eval $(call KernelPackage,sctp))
1246
1247
1248 define KernelPackage/netem
1249 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1250 TITLE:=Network emulation functionality
1251 DEPENDS:=+kmod-sched
1252 KCONFIG:=CONFIG_NET_SCH_NETEM
1253 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
1254 AUTOLOAD:=$(call AutoLoad,99,netem)
1255 endef
1256
1257 define KernelPackage/netem/description
1258 Kernel modules for emulating the properties of wide area networks
1259 endef
1260
1261 $(eval $(call KernelPackage,netem))
1262
1263 define KernelPackage/slip
1264 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1265 DEPENDS:=+kmod-slhc
1266 TITLE:=SLIP modules
1267 KCONFIG:= \
1268 CONFIG_SLIP \
1269 CONFIG_SLIP_COMPRESSED=y \
1270 CONFIG_SLIP_SMART=y \
1271 CONFIG_SLIP_MODE_SLIP6=y
1272
1273 FILES:= \
1274 $(LINUX_DIR)/drivers/net/slip/slip.ko
1275 AUTOLOAD:=$(call AutoLoad,30,slip)
1276 endef
1277
1278 define KernelPackage/slip/description
1279 Kernel modules for SLIP support
1280 endef
1281
1282 $(eval $(call KernelPackage,slip))
1283
1284 define KernelPackage/dnsresolver
1285 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1286 TITLE:=In-kernel DNS Resolver
1287 KCONFIG:= CONFIG_DNS_RESOLVER
1288 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1289 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1290 endef
1291
1292 $(eval $(call KernelPackage,dnsresolver))
1293
1294 define KernelPackage/rxrpc
1295 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1296 TITLE:=AF_RXRPC support
1297 HIDDEN:=1
1298 KCONFIG:= \
1299 CONFIG_AF_RXRPC \
1300 CONFIG_RXKAD=m \
1301 CONFIG_AF_RXRPC_DEBUG=n
1302 FILES:= \
1303 $(LINUX_DIR)/net/rxrpc/rxrpc.ko
1304 AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
1305 DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt \
1306 +kmod-udptunnel4 +kmod-udptunnel6
1307 endef
1308
1309 define KernelPackage/rxrpc/description
1310 Kernel support for AF_RXRPC; required for AFS client
1311 endef
1312
1313 $(eval $(call KernelPackage,rxrpc))
1314
1315 define KernelPackage/mpls
1316 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1317 TITLE:=MPLS support
1318 DEPENDS:=+kmod-iptunnel
1319 KCONFIG:= \
1320 CONFIG_MPLS=y \
1321 CONFIG_LWTUNNEL=y \
1322 CONFIG_LWTUNNEL_BPF=n \
1323 CONFIG_NET_MPLS_GSO=m \
1324 CONFIG_MPLS_ROUTING=m \
1325 CONFIG_MPLS_IPTUNNEL=m
1326 FILES:= \
1327 $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1328 $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1329 $(LINUX_DIR)/net/mpls/mpls_router.ko
1330 AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1331 endef
1332
1333 define KernelPackage/mpls/description
1334 Kernel support for MPLS
1335 endef
1336
1337 $(eval $(call KernelPackage,mpls))
1338
1339 define KernelPackage/9pnet
1340 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1341 TITLE:=Plan 9 Resource Sharing Support (9P2000)
1342 KCONFIG:= \
1343 CONFIG_NET_9P \
1344 CONFIG_NET_9P_DEBUG=n \
1345 CONFIG_NET_9P_FD=n@ge5.17
1346 FILES:= \
1347 $(LINUX_DIR)/net/9p/9pnet.ko
1348 AUTOLOAD:=$(call AutoLoad,29,9pnet)
1349 endef
1350
1351 define KernelPackage/9pnet/description
1352 Kernel support support for
1353 Plan 9 resource sharing via the 9P2000 protocol.
1354 endef
1355
1356 $(eval $(call KernelPackage,9pnet))
1357
1358 define KernelPackage/9pvirtio
1359 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1360 TITLE:=Plan 9 Virtio Support
1361 DEPENDS:=+kmod-9pnet @VIRTIO_SUPPORT
1362 KCONFIG:= \
1363 CONFIG_NET_9P_XEN=n \
1364 CONFIG_NET_9P_VIRTIO
1365 FILES:= \
1366 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1367 AUTOLOAD:=$(call AutoLoad,29,9pnet_virtio)
1368 endef
1369
1370 define KernelPackage/9pvirtio/description
1371 Kernel support support for
1372 Plan 9 resource sharing for virtio.
1373 endef
1374
1375 $(eval $(call KernelPackage,9pvirtio))
1376
1377
1378 define KernelPackage/nlmon
1379 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1380 TITLE:=Virtual netlink monitoring device
1381 KCONFIG:=CONFIG_NLMON
1382 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1383 AUTOLOAD:=$(call AutoProbe,nlmon)
1384 endef
1385
1386 define KernelPackage/nlmon/description
1387 Kernel module which adds a monitoring device for netlink.
1388 endef
1389
1390 $(eval $(call KernelPackage,nlmon))
1391
1392
1393 define KernelPackage/mdio
1394 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1395 TITLE:=MDIO (clause 45) PHY support
1396 KCONFIG:=CONFIG_MDIO
1397 HIDDEN:=1
1398 FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1399 AUTOLOAD:=$(call AutoLoad,32,mdio)
1400 endef
1401
1402 define KernelPackage/mdio/description
1403 Kernel modules for MDIO (clause 45) PHY support
1404 endef
1405
1406 $(eval $(call KernelPackage,mdio))
1407
1408 define KernelPackage/mdio-bus-mux
1409 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1410 TITLE:=MDIO bus multiplexers
1411 KCONFIG:=CONFIG_MDIO_BUS_MUX
1412 HIDDEN:=1
1413 FILES:=$(LINUX_DIR)/drivers/net/mdio/mdio-mux.ko
1414 AUTOLOAD:=$(call AutoLoad,32,mdio-mux)
1415 endef
1416
1417 define KernelPackage/mdio-bus-mux/description
1418 Kernel framework for MDIO bus multiplexers.
1419 endef
1420
1421 $(eval $(call KernelPackage,mdio-bus-mux))
1422
1423 define KernelPackage/macsec
1424 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1425 TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1426 DEPENDS:=+kmod-crypto-gcm
1427 KCONFIG:=CONFIG_MACSEC
1428 FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1429 AUTOLOAD:=$(call AutoLoad,13,macsec)
1430 endef
1431
1432 define KernelPackage/macsec/description
1433 MACsec is an encryption standard for Ethernet.
1434 endef
1435
1436 $(eval $(call KernelPackage,macsec))
1437
1438
1439 define KernelPackage/netlink-diag
1440 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1441 TITLE:=Netlink diag support for ss utility
1442 KCONFIG:=CONFIG_NETLINK_DIAG
1443 FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
1444 AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
1445 endef
1446
1447 define KernelPackage/netlink-diag/description
1448 Netlink diag is a module made for use with iproute2's ss utility
1449 endef
1450
1451 $(eval $(call KernelPackage,netlink-diag))
1452
1453
1454 define KernelPackage/inet-diag
1455 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1456 TITLE:=INET diag support for ss utility
1457 KCONFIG:= \
1458 CONFIG_INET_DIAG \
1459 CONFIG_INET_TCP_DIAG \
1460 CONFIG_INET_UDP_DIAG \
1461 CONFIG_INET_RAW_DIAG \
1462 CONFIG_INET_DIAG_DESTROY=n
1463 FILES:= \
1464 $(LINUX_DIR)/net/ipv4/inet_diag.ko \
1465 $(LINUX_DIR)/net/ipv4/tcp_diag.ko \
1466 $(LINUX_DIR)/net/ipv4/udp_diag.ko \
1467 $(LINUX_DIR)/net/ipv4/raw_diag.ko
1468 AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag)
1469 endef
1470
1471 define KernelPackage/inet-diag/description
1472 Support for INET (TCP, DCCP, etc) socket monitoring interface used by
1473 native Linux tools such as ss.
1474 endef
1475
1476 $(eval $(call KernelPackage,inet-diag))
1477
1478
1479 define KernelPackage/xdp-sockets-diag
1480 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1481 TITLE:=PF_XDP sockets monitoring interface support for ss utility
1482 DEPENDS:=@KERNEL_XDP_SOCKETS
1483 KCONFIG:=CONFIG_XDP_SOCKETS_DIAG
1484 FILES:=$(LINUX_DIR)/net/xdp/xsk_diag.ko
1485 AUTOLOAD:=$(call AutoLoad,31,xsk_diag)
1486 endef
1487
1488 define KernelPackage/xdp-sockets-diag/description
1489 Support for PF_XDP sockets monitoring interface used by the ss tool
1490 endef
1491
1492 $(eval $(call KernelPackage,xdp-sockets-diag))
1493
1494
1495 define KernelPackage/wireguard
1496 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1497 TITLE:=WireGuard secure network tunnel
1498 DEPENDS:= \
1499 +kmod-crypto-lib-chacha20poly1305 \
1500 +kmod-crypto-lib-curve25519 \
1501 +kmod-udptunnel4 \
1502 +IPV6:kmod-udptunnel6
1503 KCONFIG:= \
1504 CONFIG_WIREGUARD \
1505 CONFIG_WIREGUARD_DEBUG=n
1506 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1507 AUTOLOAD:=$(call AutoProbe,wireguard)
1508 endef
1509
1510 define KernelPackage/wireguard/description
1511 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1512 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1513 more useful than IPSec, while avoiding the massive headache. It intends to
1514 be considerably more performant than OpenVPN. WireGuard is designed as a
1515 general purpose VPN for running on embedded interfaces and super computers
1516 alike, fit for many different circumstances. It uses UDP.
1517 endef
1518
1519 $(eval $(call KernelPackage,wireguard))
1520
1521
1522 define KernelPackage/netconsole
1523 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1524 TITLE:=Network console logging support
1525 KCONFIG:=CONFIG_NETCONSOLE \
1526 CONFIG_NETCONSOLE_DYNAMIC=n
1527 FILES:=$(LINUX_DIR)/drivers/net/netconsole.ko
1528 AUTOLOAD:=$(call AutoProbe,netconsole)
1529 endef
1530
1531 define KernelPackage/netconsole/description
1532 Network console logging support.
1533 endef
1534
1535 $(eval $(call KernelPackage,netconsole))
1536
1537
1538 define KernelPackage/qrtr
1539 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1540 TITLE:=Qualcomm IPC Router support
1541 HIDDEN:=1
1542 KCONFIG:=CONFIG_QRTR
1543 FILES:= \
1544 $(LINUX_DIR)/net/qrtr/qrtr.ko
1545 AUTOLOAD:=$(call AutoProbe,qrtr)
1546 endef
1547
1548 define KernelPackage/qrtr/description
1549 Qualcomm IPC Router support
1550 endef
1551
1552 $(eval $(call KernelPackage,qrtr))
1553
1554 define KernelPackage/qrtr-tun
1555 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1556 TITLE:=TUN device for Qualcomm IPC Router
1557 DEPENDS:=+kmod-qrtr
1558 KCONFIG:=CONFIG_QRTR_TUN
1559 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-tun.ko
1560 AUTOLOAD:=$(call AutoProbe,qrtr-tun)
1561 endef
1562
1563 define KernelPackage/qrtr-tun/description
1564 TUN device for Qualcomm IPC Router
1565 endef
1566
1567 $(eval $(call KernelPackage,qrtr-tun))
1568
1569 define KernelPackage/qrtr-smd
1570 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1571 TITLE:=SMD IPC Router channels
1572 DEPENDS:=+kmod-qrtr @TARGET_qualcommax
1573 KCONFIG:=CONFIG_QRTR_SMD
1574 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
1575 AUTOLOAD:=$(call AutoProbe,qrtr-smd)
1576 endef
1577
1578 define KernelPackage/qrtr-smd/description
1579 SMD IPC Router channels
1580 endef
1581
1582 $(eval $(call KernelPackage,qrtr-smd))
1583
1584 define KernelPackage/qrtr-mhi
1585 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1586 TITLE:=MHI IPC Router channels
1587 DEPENDS:=+kmod-mhi-bus +kmod-qrtr
1588 KCONFIG:=CONFIG_QRTR_MHI
1589 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-mhi.ko
1590 AUTOLOAD:=$(call AutoProbe,qrtr-mhi)
1591 endef
1592
1593 define KernelPackage/qrtr-mhi/description
1594 MHI IPC Router channels
1595 endef
1596
1597 $(eval $(call KernelPackage,qrtr-mhi))