kernel: netsupport: Add kmod-sched-skbprio
[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/sched-skbprio
976 SUBMENU:=$(NETWORK_SUPPORT_MENU)
977 TITLE:=SKB priority queue scheduler (SKBPRIO)
978 DEPENDS:=+kmod-sched-core
979 KCONFIG:= CONFIG_NET_SCH_SKBPRIO
980 FILES:= $(LINUX_DIR)/net/sched/sch_skbprio.ko
981 AUTOLOAD:=$(call AutoProbe,sch_skbprio)
982 endef
983
984 $(eval $(call KernelPackage,sched-skbprio))
985
986
987 define KernelPackage/bpf-test
988 SUBMENU:=$(NETWORK_SUPPORT_MENU)
989 TITLE:=Test Berkeley Packet Filter functionality
990 KCONFIG:=CONFIG_TEST_BPF
991 FILES:=$(LINUX_DIR)/lib/test_bpf.ko
992 endef
993
994 $(eval $(call KernelPackage,bpf-test))
995
996
997 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
998 SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
999
1000 define KernelPackage/sched
1001 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1002 TITLE:=Extra traffic schedulers
1003 DEPENDS:=+kmod-sched-core +kmod-lib-crc32c +kmod-lib-textsearch
1004 KCONFIG:= \
1005 CONFIG_NET_SCH_CODEL \
1006 CONFIG_NET_SCH_DSMARK \
1007 CONFIG_NET_SCH_GRED \
1008 CONFIG_NET_SCH_MULTIQ \
1009 CONFIG_NET_SCH_SFQ \
1010 CONFIG_NET_SCH_TEQL \
1011 CONFIG_NET_SCH_FQ \
1012 CONFIG_NET_ACT_PEDIT \
1013 CONFIG_NET_ACT_SIMP \
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 DEPENDS:=@VIRTIO_SUPPORT
1328 KCONFIG:= \
1329 CONFIG_NET_9P \
1330 CONFIG_NET_9P_DEBUG=n \
1331 CONFIG_NET_9P_XEN=n \
1332 CONFIG_NET_9P_VIRTIO \
1333 CONFIG_NET_9P_FD=n@ge5.17
1334 FILES:= \
1335 $(LINUX_DIR)/net/9p/9pnet.ko \
1336 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1337 AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
1338 endef
1339
1340 define KernelPackage/9pnet/description
1341 Kernel support support for
1342 Plan 9 resource sharing via the 9P2000 protocol.
1343 endef
1344
1345 $(eval $(call KernelPackage,9pnet))
1346
1347
1348 define KernelPackage/nlmon
1349 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1350 TITLE:=Virtual netlink monitoring device
1351 KCONFIG:=CONFIG_NLMON
1352 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1353 AUTOLOAD:=$(call AutoProbe,nlmon)
1354 endef
1355
1356 define KernelPackage/nlmon/description
1357 Kernel module which adds a monitoring device for netlink.
1358 endef
1359
1360 $(eval $(call KernelPackage,nlmon))
1361
1362
1363 define KernelPackage/mdio
1364 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1365 TITLE:=MDIO (clause 45) PHY support
1366 KCONFIG:=CONFIG_MDIO
1367 HIDDEN:=1
1368 FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1369 AUTOLOAD:=$(call AutoLoad,32,mdio)
1370 endef
1371
1372 define KernelPackage/mdio/description
1373 Kernel modules for MDIO (clause 45) PHY support
1374 endef
1375
1376 $(eval $(call KernelPackage,mdio))
1377
1378 define KernelPackage/mdio-bus-mux
1379 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1380 TITLE:=MDIO bus multiplexers
1381 KCONFIG:=CONFIG_MDIO_BUS_MUX
1382 HIDDEN:=1
1383 FILES:=$(LINUX_DIR)/drivers/net/mdio/mdio-mux.ko
1384 AUTOLOAD:=$(call AutoLoad,32,mdio-mux)
1385 endef
1386
1387 define KernelPackage/mdio-bus-mux/description
1388 Kernel framework for MDIO bus multiplexers.
1389 endef
1390
1391 $(eval $(call KernelPackage,mdio-bus-mux))
1392
1393 define KernelPackage/macsec
1394 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1395 TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1396 DEPENDS:=+kmod-crypto-gcm
1397 KCONFIG:=CONFIG_MACSEC
1398 FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1399 AUTOLOAD:=$(call AutoLoad,13,macsec)
1400 endef
1401
1402 define KernelPackage/macsec/description
1403 MACsec is an encryption standard for Ethernet.
1404 endef
1405
1406 $(eval $(call KernelPackage,macsec))
1407
1408
1409 define KernelPackage/netlink-diag
1410 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1411 TITLE:=Netlink diag support for ss utility
1412 KCONFIG:=CONFIG_NETLINK_DIAG
1413 FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
1414 AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
1415 endef
1416
1417 define KernelPackage/netlink-diag/description
1418 Netlink diag is a module made for use with iproute2's ss utility
1419 endef
1420
1421 $(eval $(call KernelPackage,netlink-diag))
1422
1423
1424 define KernelPackage/inet-diag
1425 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1426 TITLE:=INET diag support for ss utility
1427 KCONFIG:= \
1428 CONFIG_INET_DIAG \
1429 CONFIG_INET_TCP_DIAG \
1430 CONFIG_INET_UDP_DIAG \
1431 CONFIG_INET_RAW_DIAG \
1432 CONFIG_INET_DIAG_DESTROY=n
1433 FILES:= \
1434 $(LINUX_DIR)/net/ipv4/inet_diag.ko \
1435 $(LINUX_DIR)/net/ipv4/tcp_diag.ko \
1436 $(LINUX_DIR)/net/ipv4/udp_diag.ko \
1437 $(LINUX_DIR)/net/ipv4/raw_diag.ko
1438 AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag)
1439 endef
1440
1441 define KernelPackage/inet-diag/description
1442 Support for INET (TCP, DCCP, etc) socket monitoring interface used by
1443 native Linux tools such as ss.
1444 endef
1445
1446 $(eval $(call KernelPackage,inet-diag))
1447
1448
1449 define KernelPackage/xdp-sockets-diag
1450 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1451 TITLE:=PF_XDP sockets monitoring interface support for ss utility
1452 DEPENDS:=@KERNEL_XDP_SOCKETS
1453 KCONFIG:=CONFIG_XDP_SOCKETS_DIAG
1454 FILES:=$(LINUX_DIR)/net/xdp/xsk_diag.ko
1455 AUTOLOAD:=$(call AutoLoad,31,xsk_diag)
1456 endef
1457
1458 define KernelPackage/xdp-sockets-diag/description
1459 Support for PF_XDP sockets monitoring interface used by the ss tool
1460 endef
1461
1462 $(eval $(call KernelPackage,xdp-sockets-diag))
1463
1464
1465 define KernelPackage/wireguard
1466 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1467 TITLE:=WireGuard secure network tunnel
1468 DEPENDS:= \
1469 +kmod-crypto-lib-chacha20poly1305 \
1470 +kmod-crypto-lib-curve25519 \
1471 +kmod-udptunnel4 \
1472 +IPV6:kmod-udptunnel6
1473 KCONFIG:= \
1474 CONFIG_WIREGUARD \
1475 CONFIG_WIREGUARD_DEBUG=n
1476 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1477 AUTOLOAD:=$(call AutoProbe,wireguard)
1478 endef
1479
1480 define KernelPackage/wireguard/description
1481 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1482 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1483 more useful than IPSec, while avoiding the massive headache. It intends to
1484 be considerably more performant than OpenVPN. WireGuard is designed as a
1485 general purpose VPN for running on embedded interfaces and super computers
1486 alike, fit for many different circumstances. It uses UDP.
1487 endef
1488
1489 $(eval $(call KernelPackage,wireguard))
1490
1491
1492 define KernelPackage/netconsole
1493 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1494 TITLE:=Network console logging support
1495 KCONFIG:=CONFIG_NETCONSOLE \
1496 CONFIG_NETCONSOLE_DYNAMIC=n
1497 FILES:=$(LINUX_DIR)/drivers/net/netconsole.ko
1498 AUTOLOAD:=$(call AutoProbe,netconsole)
1499 endef
1500
1501 define KernelPackage/netconsole/description
1502 Network console logging support.
1503 endef
1504
1505 $(eval $(call KernelPackage,netconsole))
1506
1507
1508 define KernelPackage/qrtr
1509 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1510 TITLE:=Qualcomm IPC Router support
1511 HIDDEN:=1
1512 KCONFIG:=CONFIG_QRTR
1513 FILES:= \
1514 $(LINUX_DIR)/net/qrtr/qrtr.ko
1515 AUTOLOAD:=$(call AutoProbe,qrtr)
1516 endef
1517
1518 define KernelPackage/qrtr/description
1519 Qualcomm IPC Router support
1520 endef
1521
1522 $(eval $(call KernelPackage,qrtr))
1523
1524 define KernelPackage/qrtr-tun
1525 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1526 TITLE:=TUN device for Qualcomm IPC Router
1527 DEPENDS:=+kmod-qrtr
1528 KCONFIG:=CONFIG_QRTR_TUN
1529 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-tun.ko
1530 AUTOLOAD:=$(call AutoProbe,qrtr-tun)
1531 endef
1532
1533 define KernelPackage/qrtr-tun/description
1534 TUN device for Qualcomm IPC Router
1535 endef
1536
1537 $(eval $(call KernelPackage,qrtr-tun))
1538
1539 define KernelPackage/qrtr-smd
1540 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1541 TITLE:=SMD IPC Router channels
1542 DEPENDS:=+kmod-qrtr @TARGET_qualcommax
1543 KCONFIG:=CONFIG_QRTR_SMD
1544 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
1545 AUTOLOAD:=$(call AutoProbe,qrtr-smd)
1546 endef
1547
1548 define KernelPackage/qrtr-smd/description
1549 SMD IPC Router channels
1550 endef
1551
1552 $(eval $(call KernelPackage,qrtr-smd))
1553
1554 define KernelPackage/qrtr-mhi
1555 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1556 TITLE:=MHI IPC Router channels
1557 DEPENDS:=+kmod-mhi-bus +kmod-qrtr
1558 KCONFIG:=CONFIG_QRTR_MHI
1559 FILES:= $(LINUX_DIR)/net/qrtr/qrtr-mhi.ko
1560 AUTOLOAD:=$(call AutoProbe,qrtr-mhi)
1561 endef
1562
1563 define KernelPackage/qrtr-mhi/description
1564 MHI IPC Router channels
1565 endef
1566
1567 $(eval $(call KernelPackage,qrtr-mhi))