kernel: extract kmod-sched-act-ipt from kmod-sched
[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-ipset
896 SUBMENU:=$(NETWORK_SUPPORT_MENU)
897 TITLE:=Traffic shaper ipset support
898 DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
899 KCONFIG:= \
900 CONFIG_NET_EMATCH_IPSET
901 FILES:= \
902 $(LINUX_DIR)/net/sched/em_ipset.ko
903 AUTOLOAD:=$(call AutoLoad,72,em_ipset)
904 endef
905
906 $(eval $(call KernelPackage,sched-ipset))
907
908
909 define KernelPackage/sched-mqprio
910 SUBMENU:=$(NETWORK_SUPPORT_MENU)
911 TITLE:=Multi-queue priority scheduler (MQPRIO)
912 DEPENDS:=+kmod-sched-core
913 KCONFIG:=CONFIG_NET_SCH_MQPRIO
914 FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
915 AUTOLOAD:=$(call AutoProbe, sch_mqprio)
916 endef
917
918 define KernelPackage/sched-mqprio/description
919 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
920 endef
921
922 $(eval $(call KernelPackage,sched-mqprio))
923
924
925 define KernelPackage/sched-prio
926 SUBMENU:=$(NETWORK_SUPPORT_MENU)
927 TITLE:=Multi Band Priority Queueing (PRIO)
928 DEPENDS:=+kmod-sched-core
929 KCONFIG:=CONFIG_NET_SCH_PRIO
930 FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko
931 AUTOLOAD:=$(call AutoProbe,sch_prio)
932 endef
933
934 define KernelPackage/sched-prio/description
935 PRIO algorithm Configuration
936 endef
937
938 $(eval $(call KernelPackage,sched-prio))
939
940
941 define KernelPackage/sched-red
942 SUBMENU:=$(NETWORK_SUPPORT_MENU)
943 TITLE:=Random Early Detection (RED)
944 DEPENDS:=+kmod-sched-core
945 KCONFIG:=CONFIG_NET_SCH_RED
946 FILES:=$(LINUX_DIR)/net/sched/sch_red.ko
947 AUTOLOAD:=$(call AutoProbe,sch_red)
948 endef
949
950 define KernelPackage/sched-red/description
951 Random Early Detection (RED) algorithm Configuration
952 endef
953
954 $(eval $(call KernelPackage,sched-red))
955
956
957 define KernelPackage/bpf-test
958 SUBMENU:=$(NETWORK_SUPPORT_MENU)
959 TITLE:=Test Berkeley Packet Filter functionality
960 KCONFIG:=CONFIG_TEST_BPF
961 FILES:=$(LINUX_DIR)/lib/test_bpf.ko
962 endef
963
964 $(eval $(call KernelPackage,bpf-test))
965
966
967 SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_sfq sch_teql sch_fq sch_pie act_pedit act_simple act_csum em_cmp em_nbyte em_meta em_text
968 SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
969
970 define KernelPackage/sched
971 SUBMENU:=$(NETWORK_SUPPORT_MENU)
972 TITLE:=Extra traffic schedulers
973 DEPENDS:=+kmod-sched-core +kmod-lib-crc32c +kmod-lib-textsearch
974 KCONFIG:= \
975 CONFIG_NET_SCH_CODEL \
976 CONFIG_NET_SCH_DSMARK \
977 CONFIG_NET_SCH_GRED \
978 CONFIG_NET_SCH_MULTIQ \
979 CONFIG_NET_SCH_SFQ \
980 CONFIG_NET_SCH_TEQL \
981 CONFIG_NET_SCH_FQ \
982 CONFIG_NET_SCH_PIE \
983 CONFIG_NET_ACT_PEDIT \
984 CONFIG_NET_ACT_SIMP \
985 CONFIG_NET_ACT_CSUM \
986 CONFIG_NET_EMATCH_CMP \
987 CONFIG_NET_EMATCH_NBYTE \
988 CONFIG_NET_EMATCH_META \
989 CONFIG_NET_EMATCH_TEXT
990 FILES:=$(SCHED_FILES_EXTRA)
991 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
992 endef
993
994 define KernelPackage/sched/description
995 Extra kernel schedulers modules for IP traffic
996 endef
997
998 SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
999
1000 define KernelPackage/sched/install
1001 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
1002 $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
1003 endef
1004
1005 $(eval $(call KernelPackage,sched))
1006
1007
1008 define KernelPackage/tcp-bbr
1009 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1010 TITLE:=BBR TCP congestion control
1011 KCONFIG:=CONFIG_TCP_CONG_BBR
1012 FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
1013 AUTOLOAD:=$(call AutoProbe,tcp_bbr)
1014 endef
1015
1016 define KernelPackage/tcp-bbr/description
1017 Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
1018 control. It requires the fq ("Fair Queue") pacing packet scheduler.
1019 For kernel 4.13+, TCP internal pacing is implemented as fallback.
1020 endef
1021
1022 TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
1023
1024 define KernelPackage/tcp-bbr/install
1025 $(INSTALL_DIR) $(1)/etc/sysctl.d
1026 $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
1027 endef
1028
1029 $(eval $(call KernelPackage,tcp-bbr))
1030
1031
1032 define KernelPackage/tcp-hybla
1033 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1034 TITLE:=TCP-Hybla congestion control algorithm
1035 KCONFIG:=CONFIG_TCP_CONG_HYBLA
1036 FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
1037 AUTOLOAD:=$(call AutoProbe,tcp_hybla)
1038 endef
1039
1040 define KernelPackage/tcp-hybla/description
1041 TCP-Hybla is a sender-side only change that eliminates penalization of
1042 long-RTT, large-bandwidth connections, like when satellite legs are
1043 involved, especially when sharing a common bottleneck with normal
1044 terrestrial connections.
1045 endef
1046
1047 $(eval $(call KernelPackage,tcp-hybla))
1048
1049
1050 define KernelPackage/tcp-scalable
1051 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1052 TITLE:=TCP-Scalable congestion control algorithm
1053 KCONFIG:=CONFIG_TCP_CONG_SCALABLE
1054 FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko
1055 AUTOLOAD:=$(call AutoProbe,tcp-scalable)
1056 endef
1057
1058 define KernelPackage/tcp-scalable/description
1059 Scalable TCP is a sender-side only change to TCP which uses a
1060 MIMD congestion control algorithm which has some nice scaling
1061 properties, though is known to have fairness issues.
1062 See http://www.deneholme.net/tom/scalable/
1063 endef
1064
1065 $(eval $(call KernelPackage,tcp-scalable))
1066
1067
1068 define KernelPackage/ax25
1069 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1070 TITLE:=AX25 support
1071 DEPENDS:=+kmod-lib-crc16
1072 KCONFIG:= \
1073 CONFIG_HAMRADIO=y \
1074 CONFIG_AX25 \
1075 CONFIG_MKISS
1076 FILES:= \
1077 $(LINUX_DIR)/net/ax25/ax25.ko \
1078 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
1079 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
1080 endef
1081
1082 define KernelPackage/ax25/description
1083 Kernel modules for AX25 support
1084 endef
1085
1086 $(eval $(call KernelPackage,ax25))
1087
1088
1089 define KernelPackage/pktgen
1090 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1091 DEPENDS:=@!TARGET_uml
1092 TITLE:=Network packet generator
1093 KCONFIG:=CONFIG_NET_PKTGEN
1094 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
1095 AUTOLOAD:=$(call AutoLoad,99,pktgen)
1096 endef
1097
1098 define KernelPackage/pktgen/description
1099 Kernel modules for the Network Packet Generator
1100 endef
1101
1102 $(eval $(call KernelPackage,pktgen))
1103
1104 define KernelPackage/l2tp
1105 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1106 TITLE:=Layer Two Tunneling Protocol (L2TP)
1107 DEPENDS:= \
1108 +kmod-udptunnel4 \
1109 +IPV6:kmod-udptunnel6
1110 KCONFIG:=CONFIG_L2TP \
1111 CONFIG_L2TP_V3=y \
1112 CONFIG_L2TP_DEBUGFS=n
1113 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
1114 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
1115 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
1116 endef
1117
1118 define KernelPackage/l2tp/description
1119 Kernel modules for L2TP V3 Support
1120 endef
1121
1122 $(eval $(call KernelPackage,l2tp))
1123
1124
1125 define KernelPackage/l2tp-eth
1126 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1127 TITLE:=L2TP ethernet pseudowire support for L2TPv3
1128 DEPENDS:=+kmod-l2tp
1129 KCONFIG:=CONFIG_L2TP_ETH
1130 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
1131 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
1132 endef
1133
1134 define KernelPackage/l2tp-eth/description
1135 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1136 endef
1137
1138 $(eval $(call KernelPackage,l2tp-eth))
1139
1140 define KernelPackage/l2tp-ip
1141 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1142 TITLE:=L2TP IP encapsulation for L2TPv3
1143 DEPENDS:=+kmod-l2tp
1144 KCONFIG:=CONFIG_L2TP_IP
1145 FILES:= \
1146 $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
1147 $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
1148 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
1149 endef
1150
1151 define KernelPackage/l2tp-ip/description
1152 Kernel modules for L2TP IP encapsulation for L2TPv3
1153 endef
1154
1155 $(eval $(call KernelPackage,l2tp-ip))
1156
1157
1158 define KernelPackage/sctp
1159 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1160 TITLE:=SCTP protocol kernel support
1161 KCONFIG:=\
1162 CONFIG_IP_SCTP \
1163 CONFIG_SCTP_DBG_MSG=n \
1164 CONFIG_SCTP_DBG_OBJCNT=n \
1165 CONFIG_SCTP_HMAC_NONE=n \
1166 CONFIG_SCTP_HMAC_SHA1=n \
1167 CONFIG_SCTP_HMAC_MD5=y \
1168 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
1169 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
1170 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
1171 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
1172 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1173 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
1174 AUTOLOAD:= $(call AutoLoad,32,sctp)
1175 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \
1176 +LINUX_5_15:kmod-udptunnel4 +LINUX_5_15:kmod-udptunnel6
1177 endef
1178
1179 define KernelPackage/sctp/description
1180 Kernel modules for SCTP protocol support
1181 endef
1182
1183 $(eval $(call KernelPackage,sctp))
1184
1185
1186 define KernelPackage/netem
1187 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1188 TITLE:=Network emulation functionality
1189 DEPENDS:=+kmod-sched
1190 KCONFIG:=CONFIG_NET_SCH_NETEM
1191 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
1192 AUTOLOAD:=$(call AutoLoad,99,netem)
1193 endef
1194
1195 define KernelPackage/netem/description
1196 Kernel modules for emulating the properties of wide area networks
1197 endef
1198
1199 $(eval $(call KernelPackage,netem))
1200
1201 define KernelPackage/slip
1202 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1203 DEPENDS:=+kmod-slhc
1204 TITLE:=SLIP modules
1205 KCONFIG:= \
1206 CONFIG_SLIP \
1207 CONFIG_SLIP_COMPRESSED=y \
1208 CONFIG_SLIP_SMART=y \
1209 CONFIG_SLIP_MODE_SLIP6=y
1210
1211 FILES:= \
1212 $(LINUX_DIR)/drivers/net/slip/slip.ko
1213 AUTOLOAD:=$(call AutoLoad,30,slip)
1214 endef
1215
1216 define KernelPackage/slip/description
1217 Kernel modules for SLIP support
1218 endef
1219
1220 $(eval $(call KernelPackage,slip))
1221
1222 define KernelPackage/dnsresolver
1223 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1224 TITLE:=In-kernel DNS Resolver
1225 KCONFIG:= CONFIG_DNS_RESOLVER
1226 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1227 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1228 endef
1229
1230 $(eval $(call KernelPackage,dnsresolver))
1231
1232 define KernelPackage/rxrpc
1233 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1234 TITLE:=AF_RXRPC support
1235 HIDDEN:=1
1236 KCONFIG:= \
1237 CONFIG_AF_RXRPC \
1238 CONFIG_RXKAD=m \
1239 CONFIG_AF_RXRPC_DEBUG=n
1240 FILES:= \
1241 $(LINUX_DIR)/net/rxrpc/rxrpc.ko
1242 AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
1243 DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
1244 endef
1245
1246 define KernelPackage/rxrpc/description
1247 Kernel support for AF_RXRPC; required for AFS client
1248 endef
1249
1250 $(eval $(call KernelPackage,rxrpc))
1251
1252 define KernelPackage/mpls
1253 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1254 TITLE:=MPLS support
1255 DEPENDS:=+kmod-iptunnel
1256 KCONFIG:= \
1257 CONFIG_MPLS=y \
1258 CONFIG_LWTUNNEL=y \
1259 CONFIG_LWTUNNEL_BPF=n \
1260 CONFIG_NET_MPLS_GSO=m \
1261 CONFIG_MPLS_ROUTING=m \
1262 CONFIG_MPLS_IPTUNNEL=m
1263 FILES:= \
1264 $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1265 $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1266 $(LINUX_DIR)/net/mpls/mpls_router.ko
1267 AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1268 endef
1269
1270 define KernelPackage/mpls/description
1271 Kernel support for MPLS
1272 endef
1273
1274 $(eval $(call KernelPackage,mpls))
1275
1276 define KernelPackage/9pnet
1277 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1278 TITLE:=Plan 9 Resource Sharing Support (9P2000)
1279 DEPENDS:=@VIRTIO_SUPPORT
1280 KCONFIG:= \
1281 CONFIG_NET_9P \
1282 CONFIG_NET_9P_DEBUG=n \
1283 CONFIG_NET_9P_XEN=n \
1284 CONFIG_NET_9P_VIRTIO
1285 FILES:= \
1286 $(LINUX_DIR)/net/9p/9pnet.ko \
1287 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1288 AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
1289 endef
1290
1291 define KernelPackage/9pnet/description
1292 Kernel support support for
1293 Plan 9 resource sharing via the 9P2000 protocol.
1294 endef
1295
1296 $(eval $(call KernelPackage,9pnet))
1297
1298
1299 define KernelPackage/nlmon
1300 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1301 TITLE:=Virtual netlink monitoring device
1302 KCONFIG:=CONFIG_NLMON
1303 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1304 AUTOLOAD:=$(call AutoProbe,nlmon)
1305 endef
1306
1307 define KernelPackage/nlmon/description
1308 Kernel module which adds a monitoring device for netlink.
1309 endef
1310
1311 $(eval $(call KernelPackage,nlmon))
1312
1313
1314 define KernelPackage/mdio
1315 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1316 TITLE:=MDIO (clause 45) PHY support
1317 KCONFIG:=CONFIG_MDIO
1318 HIDDEN:=1
1319 FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1320 AUTOLOAD:=$(call AutoLoad,32,mdio)
1321 endef
1322
1323 define KernelPackage/mdio/description
1324 Kernel modules for MDIO (clause 45) PHY support
1325 endef
1326
1327 $(eval $(call KernelPackage,mdio))
1328
1329 define KernelPackage/macsec
1330 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1331 TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1332 DEPENDS:=+kmod-crypto-gcm
1333 KCONFIG:=CONFIG_MACSEC
1334 FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1335 AUTOLOAD:=$(call AutoLoad,13,macsec)
1336 endef
1337
1338 define KernelPackage/macsec/description
1339 MACsec is an encryption standard for Ethernet.
1340 endef
1341
1342 $(eval $(call KernelPackage,macsec))
1343
1344
1345 define KernelPackage/netlink-diag
1346 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1347 TITLE:=Netlink diag support for ss utility
1348 KCONFIG:=CONFIG_NETLINK_DIAG
1349 FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
1350 AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
1351 endef
1352
1353 define KernelPackage/netlink-diag/description
1354 Netlink diag is a module made for use with iproute2's ss utility
1355 endef
1356
1357 $(eval $(call KernelPackage,netlink-diag))
1358
1359
1360 define KernelPackage/inet-diag
1361 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1362 TITLE:=INET diag support for ss utility
1363 KCONFIG:= \
1364 CONFIG_INET_DIAG \
1365 CONFIG_INET_TCP_DIAG \
1366 CONFIG_INET_UDP_DIAG \
1367 CONFIG_INET_RAW_DIAG \
1368 CONFIG_INET_DIAG_DESTROY=n
1369 FILES:= \
1370 $(LINUX_DIR)/net/ipv4/inet_diag.ko \
1371 $(LINUX_DIR)/net/ipv4/tcp_diag.ko \
1372 $(LINUX_DIR)/net/ipv4/udp_diag.ko \
1373 $(LINUX_DIR)/net/ipv4/raw_diag.ko
1374 AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag)
1375 endef
1376
1377 define KernelPackage/inet-diag/description
1378 Support for INET (TCP, DCCP, etc) socket monitoring interface used by
1379 native Linux tools such as ss.
1380 endef
1381
1382 $(eval $(call KernelPackage,inet-diag))
1383
1384
1385 define KernelPackage/wireguard
1386 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1387 TITLE:=WireGuard secure network tunnel
1388 DEPENDS:= \
1389 +kmod-crypto-lib-chacha20poly1305 \
1390 +kmod-crypto-lib-curve25519 \
1391 +kmod-udptunnel4 \
1392 +IPV6:kmod-udptunnel6
1393 KCONFIG:= \
1394 CONFIG_WIREGUARD \
1395 CONFIG_WIREGUARD_DEBUG=n
1396 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1397 AUTOLOAD:=$(call AutoProbe,wireguard)
1398 endef
1399
1400 define KernelPackage/wireguard/description
1401 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1402 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1403 more useful than IPSec, while avoiding the massive headache. It intends to
1404 be considerably more performant than OpenVPN. WireGuard is designed as a
1405 general purpose VPN for running on embedded interfaces and super computers
1406 alike, fit for many different circumstances. It uses UDP.
1407 endef
1408
1409 $(eval $(call KernelPackage,wireguard))
1410
1411
1412 define KernelPackage/netconsole
1413 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1414 TITLE:=Network console logging support
1415 KCONFIG:=CONFIG_NETCONSOLE \
1416 CONFIG_NETCONSOLE_DYNAMIC=n
1417 FILES:=$(LINUX_DIR)/drivers/net/netconsole.ko
1418 AUTOLOAD:=$(call AutoProbe,netconsole)
1419 endef
1420
1421 define KernelPackage/netconsole/description
1422 Network console logging support.
1423 endef
1424
1425 $(eval $(call KernelPackage,netconsole))