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