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