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