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