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