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