kernel: decouple 9P virtio from 9P net
[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
911 SUBMENU:=$(NETWORK_SUPPORT_MENU)
912 TITLE:=Multi-queue priority scheduler (MQPRIO)
913 DEPENDS:=+kmod-sched-core
914 KCONFIG:=CONFIG_NET_SCH_MQPRIO
915 FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
916 AUTOLOAD:=$(call AutoProbe, sch_mqprio)
917 endef
918
919 define KernelPackage/sched-mqprio/description
920 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
921 endef
922
923 $(eval $(call KernelPackage,sched-mqprio))
924
925
926 define KernelPackage/sched-pie
927 SUBMENU:=$(NETWORK_SUPPORT_MENU)
928 TITLE:=Proportional Integral controller-Enhanced AQM (PIE)
929 DEPENDS:=+kmod-sched-core
930 KCONFIG:=CONFIG_NET_SCH_PIE
931 FILES:=$(LINUX_DIR)/net/sched/sch_pie.ko
932 AUTOLOAD:=$(call AutoProbe, sch_pie)
933 endef
934
935 define KernelPackage/sched-pie/description
936 A control theoretic active queue management scheme.
937 endef
938
939 $(eval $(call KernelPackage,sched-pie))
940
941
942 define KernelPackage/sched-prio
943 SUBMENU:=$(NETWORK_SUPPORT_MENU)
944 TITLE:=Multi Band Priority Queueing (PRIO)
945 DEPENDS:=+kmod-sched-core
946 KCONFIG:=CONFIG_NET_SCH_PRIO
947 FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko
948 AUTOLOAD:=$(call AutoProbe,sch_prio)
949 endef
950
951 define KernelPackage/sched-prio/description
952 PRIO algorithm Configuration
953 endef
954
955 $(eval $(call KernelPackage,sched-prio))
956
957
958 define KernelPackage/sched-red
959 SUBMENU:=$(NETWORK_SUPPORT_MENU)
960 TITLE:=Random Early Detection (RED)
961 DEPENDS:=+kmod-sched-core
962 KCONFIG:=CONFIG_NET_SCH_RED
963 FILES:=$(LINUX_DIR)/net/sched/sch_red.ko
964 AUTOLOAD:=$(call AutoProbe,sch_red)
965 endef
966
967 define KernelPackage/sched-red/description
968 Random Early Detection (RED) algorithm Configuration
969 endef
970
971 $(eval $(call KernelPackage,sched-red))
972
973
974 define KernelPackage/sched-skbprio
975 SUBMENU:=$(NETWORK_SUPPORT_MENU)
976 TITLE:=SKB priority queue scheduler (SKBPRIO)
977 DEPENDS:=+kmod-sched-core
978 KCONFIG:= CONFIG_NET_SCH_SKBPRIO
979 FILES:= $(LINUX_DIR)/net/sched/sch_skbprio.ko
980 AUTOLOAD:=$(call AutoProbe,sch_skbprio)
981 endef
982
983 $(eval $(call KernelPackage,sched-skbprio))
984
985
986 define KernelPackage/bpf-test
987 SUBMENU:=$(NETWORK_SUPPORT_MENU)
988 TITLE:=Test Berkeley Packet Filter functionality
989 KCONFIG:=CONFIG_TEST_BPF
990 FILES:=$(LINUX_DIR)/lib/test_bpf.ko
991 endef
992
993 $(eval $(call KernelPackage,bpf-test))
994
995
996 SCHED_MODULES_EXTRA = sch_codel sch_dsmark 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
997 SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
998
999 define KernelPackage/sched
1000 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1001 TITLE:=Extra traffic schedulers
1002 DEPENDS:=+kmod-sched-core +kmod-lib-crc32c +kmod-lib-textsearch
1003 KCONFIG:= \
1004 CONFIG_NET_SCH_CODEL \
1005 CONFIG_NET_SCH_DSMARK \
1006 CONFIG_NET_SCH_GRED \
1007 CONFIG_NET_SCH_MULTIQ \
1008 CONFIG_NET_SCH_SFQ \
1009 CONFIG_NET_SCH_TEQL \
1010 CONFIG_NET_SCH_FQ \
1011 CONFIG_NET_ACT_PEDIT \
1012 CONFIG_NET_ACT_SIMP \
1013 CONFIG_NET_ACT_SKBMOD \
1014 CONFIG_NET_ACT_CSUM \
1015 CONFIG_NET_EMATCH_CMP \
1016 CONFIG_NET_EMATCH_NBYTE \
1017 CONFIG_NET_EMATCH_META \
1018 CONFIG_NET_EMATCH_TEXT
1019 FILES:=$(SCHED_FILES_EXTRA)
1020 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
1021 endef
1022
1023 define KernelPackage/sched/description
1024 Extra kernel schedulers modules for IP traffic
1025 endef
1026
1027 SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
1028
1029 define KernelPackage/sched/install
1030 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
1031 $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
1032 endef
1033
1034 $(eval $(call KernelPackage,sched))
1035
1036
1037 define KernelPackage/tcp-bbr
1038 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1039 TITLE:=BBR TCP congestion control
1040 KCONFIG:=CONFIG_TCP_CONG_BBR
1041 FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
1042 AUTOLOAD:=$(call AutoProbe,tcp_bbr)
1043 endef
1044
1045 define KernelPackage/tcp-bbr/description
1046 Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
1047 control. It requires the fq ("Fair Queue") pacing packet scheduler.
1048 For kernel 4.13+, TCP internal pacing is implemented as fallback.
1049 endef
1050
1051 TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
1052
1053 define KernelPackage/tcp-bbr/install
1054 $(INSTALL_DIR) $(1)/etc/sysctl.d
1055 $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
1056 endef
1057
1058 $(eval $(call KernelPackage,tcp-bbr))
1059
1060 define KernelPackage/tls
1061 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1062 TITLE:=In-kernel TLS Support with HW Offload
1063 KCONFIG:=CONFIG_TLS \
1064 CONFIG_TLS_DEVICE=y
1065 FILES:=$(LINUX_DIR)/net/tls/tls.ko
1066 AUTOLOAD:=$(call AutoProbe,tls)
1067 endef
1068
1069 define KernelPackage/tls/description
1070 Kernel module for in-kernel TLS protocol support and hw offload
1071 (to supported interfaces).
1072 This allows symmetric encryption handling of the TLS protocol to
1073 be done in-kernel and it's HW offload when available.
1074 endef
1075
1076 $(eval $(call KernelPackage,tls))
1077
1078
1079 define KernelPackage/tcp-hybla
1080 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1081 TITLE:=TCP-Hybla congestion control algorithm
1082 KCONFIG:=CONFIG_TCP_CONG_HYBLA
1083 FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
1084 AUTOLOAD:=$(call AutoProbe,tcp_hybla)
1085 endef
1086
1087 define KernelPackage/tcp-hybla/description
1088 TCP-Hybla is a sender-side only change that eliminates penalization of
1089 long-RTT, large-bandwidth connections, like when satellite legs are
1090 involved, especially when sharing a common bottleneck with normal
1091 terrestrial connections.
1092 endef
1093
1094 $(eval $(call KernelPackage,tcp-hybla))
1095
1096
1097 define KernelPackage/tcp-scalable
1098 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1099 TITLE:=TCP-Scalable congestion control algorithm
1100 KCONFIG:=CONFIG_TCP_CONG_SCALABLE
1101 FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko
1102 AUTOLOAD:=$(call AutoProbe,tcp-scalable)
1103 endef
1104
1105 define KernelPackage/tcp-scalable/description
1106 Scalable TCP is a sender-side only change to TCP which uses a
1107 MIMD congestion control algorithm which has some nice scaling
1108 properties, though is known to have fairness issues.
1109 See http://www.deneholme.net/tom/scalable/
1110 endef
1111
1112 $(eval $(call KernelPackage,tcp-scalable))
1113
1114
1115 define KernelPackage/ax25
1116 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1117 TITLE:=AX25 support
1118 DEPENDS:=+kmod-lib-crc16
1119 KCONFIG:= \
1120 CONFIG_HAMRADIO=y \
1121 CONFIG_AX25 \
1122 CONFIG_MKISS
1123 FILES:= \
1124 $(LINUX_DIR)/net/ax25/ax25.ko \
1125 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
1126 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
1127 endef
1128
1129 define KernelPackage/ax25/description
1130 Kernel modules for AX25 support
1131 endef
1132
1133 $(eval $(call KernelPackage,ax25))
1134
1135
1136 define KernelPackage/pktgen
1137 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1138 DEPENDS:=@!TARGET_uml
1139 TITLE:=Network packet generator
1140 KCONFIG:=CONFIG_NET_PKTGEN
1141 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
1142 AUTOLOAD:=$(call AutoLoad,99,pktgen)
1143 endef
1144
1145 define KernelPackage/pktgen/description
1146 Kernel modules for the Network Packet Generator
1147 endef
1148
1149 $(eval $(call KernelPackage,pktgen))
1150
1151 define KernelPackage/l2tp
1152 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1153 TITLE:=Layer Two Tunneling Protocol (L2TP)
1154 DEPENDS:= \
1155 +kmod-udptunnel4 \
1156 +IPV6:kmod-udptunnel6
1157 KCONFIG:=CONFIG_L2TP \
1158 CONFIG_L2TP_V3=y \
1159 CONFIG_L2TP_DEBUGFS=n
1160 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
1161 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
1162 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
1163 endef
1164
1165 define KernelPackage/l2tp/description
1166 Kernel modules for L2TP V3 Support
1167 endef
1168
1169 $(eval $(call KernelPackage,l2tp))
1170
1171
1172 define KernelPackage/l2tp-eth
1173 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1174 TITLE:=L2TP ethernet pseudowire support for L2TPv3
1175 DEPENDS:=+kmod-l2tp
1176 KCONFIG:=CONFIG_L2TP_ETH
1177 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
1178 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
1179 endef
1180
1181 define KernelPackage/l2tp-eth/description
1182 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1183 endef
1184
1185 $(eval $(call KernelPackage,l2tp-eth))
1186
1187 define KernelPackage/l2tp-ip
1188 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1189 TITLE:=L2TP IP encapsulation for L2TPv3
1190 DEPENDS:=+kmod-l2tp
1191 KCONFIG:=CONFIG_L2TP_IP
1192 FILES:= \
1193 $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
1194 $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
1195 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
1196 endef
1197
1198 define KernelPackage/l2tp-ip/description
1199 Kernel modules for L2TP IP encapsulation for L2TPv3
1200 endef
1201
1202 $(eval $(call KernelPackage,l2tp-ip))
1203
1204
1205 define KernelPackage/sctp
1206 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1207 TITLE:=SCTP protocol kernel support
1208 KCONFIG:=\
1209 CONFIG_IP_SCTP \
1210 CONFIG_SCTP_DBG_MSG=n \
1211 CONFIG_SCTP_DBG_OBJCNT=n \
1212 CONFIG_SCTP_HMAC_NONE=n \
1213 CONFIG_SCTP_HMAC_SHA1=n \
1214 CONFIG_SCTP_HMAC_MD5=y \
1215 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
1216 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
1217 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
1218 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
1219 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1220 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
1221 AUTOLOAD:= $(call AutoLoad,32,sctp)
1222 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \
1223 +kmod-udptunnel4 +kmod-udptunnel6
1224 endef
1225
1226 define KernelPackage/sctp/description
1227 Kernel modules for SCTP protocol support
1228 endef
1229
1230 $(eval $(call KernelPackage,sctp))
1231
1232
1233 define KernelPackage/netem
1234 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1235 TITLE:=Network emulation functionality
1236 DEPENDS:=+kmod-sched
1237 KCONFIG:=CONFIG_NET_SCH_NETEM
1238 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
1239 AUTOLOAD:=$(call AutoLoad,99,netem)
1240 endef
1241
1242 define KernelPackage/netem/description
1243 Kernel modules for emulating the properties of wide area networks
1244 endef
1245
1246 $(eval $(call KernelPackage,netem))
1247
1248 define KernelPackage/slip
1249 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1250 DEPENDS:=+kmod-slhc
1251 TITLE:=SLIP modules
1252 KCONFIG:= \
1253 CONFIG_SLIP \
1254 CONFIG_SLIP_COMPRESSED=y \
1255 CONFIG_SLIP_SMART=y \
1256 CONFIG_SLIP_MODE_SLIP6=y
1257
1258 FILES:= \
1259 $(LINUX_DIR)/drivers/net/slip/slip.ko
1260 AUTOLOAD:=$(call AutoLoad,30,slip)
1261 endef
1262
1263 define KernelPackage/slip/description
1264 Kernel modules for SLIP support
1265 endef
1266
1267 $(eval $(call KernelPackage,slip))
1268
1269 define KernelPackage/dnsresolver
1270 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1271 TITLE:=In-kernel DNS Resolver
1272 KCONFIG:= CONFIG_DNS_RESOLVER
1273 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1274 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1275 endef
1276
1277 $(eval $(call KernelPackage,dnsresolver))
1278
1279 define KernelPackage/rxrpc
1280 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1281 TITLE:=AF_RXRPC support
1282 HIDDEN:=1
1283 KCONFIG:= \
1284 CONFIG_AF_RXRPC \
1285 CONFIG_RXKAD=m \
1286 CONFIG_AF_RXRPC_DEBUG=n
1287 FILES:= \
1288 $(LINUX_DIR)/net/rxrpc/rxrpc.ko
1289 AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
1290 DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt \
1291 +kmod-udptunnel4 +kmod-udptunnel6
1292 endef
1293
1294 define KernelPackage/rxrpc/description
1295 Kernel support for AF_RXRPC; required for AFS client
1296 endef
1297
1298 $(eval $(call KernelPackage,rxrpc))
1299
1300 define KernelPackage/mpls
1301 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1302 TITLE:=MPLS support
1303 DEPENDS:=+kmod-iptunnel
1304 KCONFIG:= \
1305 CONFIG_MPLS=y \
1306 CONFIG_LWTUNNEL=y \
1307 CONFIG_LWTUNNEL_BPF=n \
1308 CONFIG_NET_MPLS_GSO=m \
1309 CONFIG_MPLS_ROUTING=m \
1310 CONFIG_MPLS_IPTUNNEL=m
1311 FILES:= \
1312 $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1313 $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1314 $(LINUX_DIR)/net/mpls/mpls_router.ko
1315 AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1316 endef
1317
1318 define KernelPackage/mpls/description
1319 Kernel support for MPLS
1320 endef
1321
1322 $(eval $(call KernelPackage,mpls))
1323
1324 define KernelPackage/9pnet
1325 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1326 TITLE:=Plan 9 Resource Sharing Support (9P2000)
1327 KCONFIG:= \
1328 CONFIG_NET_9P \
1329 CONFIG_NET_9P_DEBUG=n \
1330 CONFIG_NET_9P_FD=n@ge5.17
1331 FILES:= \
1332 $(LINUX_DIR)/net/9p/9pnet.ko
1333 AUTOLOAD:=$(call AutoLoad,29,9pnet)
1334 endef
1335
1336 define KernelPackage/9pnet/description
1337 Kernel support support for
1338 Plan 9 resource sharing via the 9P2000 protocol.
1339 endef
1340
1341 $(eval $(call KernelPackage,9pnet))
1342
1343 define KernelPackage/9pvirtio
1344 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1345 TITLE:=Plan 9 Virtio Support
1346 DEPENDS:=+kmod-9pnet @VIRTIO_SUPPORT
1347 KCONFIG:= \
1348 CONFIG_NET_9P_XEN=n \
1349 CONFIG_NET_9P_VIRTIO
1350 FILES:= \
1351 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1352 AUTOLOAD:=$(call AutoLoad,29,9pnet_virtio)
1353 endef
1354
1355 define KernelPackage/9pvirtio/description
1356 Kernel support support for
1357 Plan 9 resource sharing for virtio.
1358 endef
1359
1360 $(eval $(call KernelPackage,9pvirtio))
1361
1362
1363 define KernelPackage/nlmon
1364 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1365 TITLE:=Virtual netlink monitoring device
1366 KCONFIG:=CONFIG_NLMON
1367 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1368 AUTOLOAD:=$(call AutoProbe,nlmon)
1369 endef
1370
1371 define KernelPackage/nlmon/description
1372 Kernel module which adds a monitoring device for netlink.
1373 endef
1374
1375 $(eval $(call KernelPackage,nlmon))
1376
1377
1378 define KernelPackage/mdio
1379 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1380 TITLE:=MDIO (clause 45) PHY support
1381 KCONFIG:=CONFIG_MDIO
1382 HIDDEN:=1
1383 FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1384 AUTOLOAD:=$(call AutoLoad,32,mdio)
1385 endef
1386
1387 define KernelPackage/mdio/description
1388 Kernel modules for MDIO (clause 45) PHY support
1389 endef
1390
1391 $(eval $(call KernelPackage,mdio))
1392
1393 define KernelPackage/mdio-bus-mux
1394 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1395 TITLE:=MDIO bus multiplexers
1396 KCONFIG:=CONFIG_MDIO_BUS_MUX
1397 HIDDEN:=1
1398 FILES:=$(LINUX_DIR)/drivers/net/mdio/mdio-mux.ko
1399 AUTOLOAD:=$(call AutoLoad,32,mdio-mux)
1400 endef
1401
1402 define KernelPackage/mdio-bus-mux/description
1403 Kernel framework for MDIO bus multiplexers.
1404 endef
1405
1406 $(eval $(call KernelPackage,mdio-bus-mux))
1407
1408 define KernelPackage/macsec
1409 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1410 TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1411 DEPENDS:=+kmod-crypto-gcm
1412 KCONFIG:=CONFIG_MACSEC
1413 FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1414 AUTOLOAD:=$(call AutoLoad,13,macsec)
1415 endef
1416
1417 define KernelPackage/macsec/description
1418 MACsec is an encryption standard for Ethernet.
1419 endef
1420
1421 $(eval $(call KernelPackage,macsec))
1422
1423
1424 define KernelPackage/netlink-diag
1425 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1426 TITLE:=Netlink diag support for ss utility
1427 KCONFIG:=CONFIG_NETLINK_DIAG
1428 FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
1429 AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
1430 endef
1431
1432 define KernelPackage/netlink-diag/description
1433 Netlink diag is a module made for use with iproute2's ss utility
1434 endef
1435
1436 $(eval $(call KernelPackage,netlink-diag))
1437
1438
1439 define KernelPackage/inet-diag
1440 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1441 TITLE:=INET diag support for ss utility
1442 KCONFIG:= \
1443 CONFIG_INET_DIAG \
1444 CONFIG_INET_TCP_DIAG \
1445 CONFIG_INET_UDP_DIAG \
1446 CONFIG_INET_RAW_DIAG \
1447 CONFIG_INET_DIAG_DESTROY=n
1448 FILES:= \
1449 $(LINUX_DIR)/net/ipv4/inet_diag.ko \
1450 $(LINUX_DIR)/net/ipv4/tcp_diag.ko \
1451 $(LINUX_DIR)/net/ipv4/udp_diag.ko \
1452 $(LINUX_DIR)/net/ipv4/raw_diag.ko
1453 AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag)
1454 endef
1455
1456 define KernelPackage/inet-diag/description
1457 Support for INET (TCP, DCCP, etc) socket monitoring interface used by
1458 native Linux tools such as ss.
1459 endef
1460
1461 $(eval $(call KernelPackage,inet-diag))
1462
1463
1464 define KernelPackage/xdp-sockets-diag
1465 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1466 TITLE:=PF_XDP sockets monitoring interface support for ss utility
1467 DEPENDS:=@KERNEL_XDP_SOCKETS
1468 KCONFIG:=CONFIG_XDP_SOCKETS_DIAG
1469 FILES:=$(LINUX_DIR)/net/xdp/xsk_diag.ko
1470 AUTOLOAD:=$(call AutoLoad,31,xsk_diag)
1471 endef
1472
1473 define KernelPackage/xdp-sockets-diag/description
1474 Support for PF_XDP sockets monitoring interface used by the ss tool
1475 endef
1476
1477 $(eval $(call KernelPackage,xdp-sockets-diag))
1478
1479
1480 define KernelPackage/wireguard
1481 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1482 TITLE:=WireGuard secure network tunnel
1483 DEPENDS:= \
1484 +kmod-crypto-lib-chacha20poly1305 \
1485 +kmod-crypto-lib-curve25519 \
1486 +kmod-udptunnel4 \
1487 +IPV6:kmod-udptunnel6
1488 KCONFIG:= \
1489 CONFIG_WIREGUARD \
1490 CONFIG_WIREGUARD_DEBUG=n
1491 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1492 AUTOLOAD:=$(call AutoProbe,wireguard)
1493 endef
1494
1495 define KernelPackage/wireguard/description
1496 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1497 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1498 more useful than IPSec, while avoiding the massive headache. It intends to
1499 be considerably more performant than OpenVPN. WireGuard is designed as a
1500 general purpose VPN for running on embedded interfaces and super computers
1501 alike, fit for many different circumstances. It uses UDP.
1502 endef
1503
1504 $(eval $(call KernelPackage,wireguard))
1505
1506
1507 define KernelPackage/netconsole
1508 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1509 TITLE:=Network console logging support
1510 KCONFIG:=CONFIG_NETCONSOLE \
1511 CONFIG_NETCONSOLE_DYNAMIC=n
1512 FILES:=$(LINUX_DIR)/drivers/net/netconsole.ko
1513 AUTOLOAD:=$(call AutoProbe,netconsole)
1514 endef
1515
1516 define KernelPackage/netconsole/description
1517 Network console logging support.
1518 endef
1519
1520 $(eval $(call KernelPackage,netconsole))
1521
1522
1523 define KernelPackage/qrtr
1524 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1525 TITLE:=Qualcomm IPC Router support
1526 HIDDEN:=1
1527 KCONFIG:=CONFIG_QRTR
1528 FILES:= \
1529 $(LINUX_DIR)/net/qrtr/qrtr.ko
1530 AUTOLOAD:=$(call AutoProbe,qrtr)
1531 endef
1532
1533 define KernelPackage/qrtr/description
1534 Qualcomm IPC Router support
1535 endef
1536
1537 $(eval $(call KernelPackage,qrtr))
1538
1539 define KernelPackage/qrtr-tun
1540 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1541 TITLE:=TUN device for Qualcomm IPC Router
1542 DEPENDS:=+kmod-qrtr
1543 KCONFIG:=CONFIG_QRTR_TUN
1544 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-tun.ko
1545 AUTOLOAD:=$(call AutoProbe,qrtr-tun)
1546 endef
1547
1548 define KernelPackage/qrtr-tun/description
1549 TUN device for Qualcomm IPC Router
1550 endef
1551
1552 $(eval $(call KernelPackage,qrtr-tun))
1553
1554 define KernelPackage/qrtr-smd
1555 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1556 TITLE:=SMD IPC Router channels
1557 DEPENDS:=+kmod-qrtr @TARGET_qualcommax
1558 KCONFIG:=CONFIG_QRTR_SMD
1559 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
1560 AUTOLOAD:=$(call AutoProbe,qrtr-smd)
1561 endef
1562
1563 define KernelPackage/qrtr-smd/description
1564 SMD IPC Router channels
1565 endef
1566
1567 $(eval $(call KernelPackage,qrtr-smd))
1568
1569 define KernelPackage/qrtr-mhi
1570 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1571 TITLE:=MHI IPC Router channels
1572 DEPENDS:=+kmod-mhi-bus +kmod-qrtr
1573 KCONFIG:=CONFIG_QRTR_MHI
1574 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-mhi.ko
1575 AUTOLOAD:=$(call AutoProbe,qrtr-mhi)
1576 endef
1577
1578 define KernelPackage/qrtr-mhi/description
1579 MHI IPC Router channels
1580 endef
1581
1582 $(eval $(call KernelPackage,qrtr-mhi))