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