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