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