2 # Copyright (C) 2006-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 NETWORK_SUPPORT_MENU
:=Network Support
10 define KernelPackage
/atm
11 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
17 $(LINUX_DIR
)/net
/atm
/atm.ko \
18 $(LINUX_DIR
)/net
/atm
/br2684.ko
19 AUTOLOAD
:=$(call AutoLoad
,30,atm br2684
)
22 define KernelPackage
/atm
/description
23 Kernel modules for ATM support
26 $(eval
$(call KernelPackage
,atm
))
29 define KernelPackage
/atmtcp
30 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
33 KCONFIG
:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS
=y
34 FILES
:=$(LINUX_DIR
)/drivers
/atm
/atmtcp.ko
35 AUTOLOAD
:=$(call AutoLoad
,40,atmtcp
)
38 define KernelPackage
/atmtcp
/description
39 Kernel module for ATM over TCP support
42 $(eval
$(call KernelPackage
,atmtcp
))
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
)
53 define KernelPackage
/bonding
/description
54 Kernel module for NIC bonding.
57 $(eval
$(call KernelPackage
,bonding
))
60 define KernelPackage
/udptunnel4
61 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
62 TITLE
:=IPv4 UDP tunneling support
63 KCONFIG
:=CONFIG_NET_UDP_TUNNEL
65 FILES
:=$(LINUX_DIR
)/net
/ipv4
/udp_tunnel.ko
66 AUTOLOAD
:=$(call AutoLoad
,32,udp_tunnel
)
70 $(eval
$(call KernelPackage
,udptunnel4
))
72 define KernelPackage
/udptunnel6
73 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
74 TITLE
:=IPv6 UDP tunneling support
76 KCONFIG
:=CONFIG_NET_UDP_TUNNEL
78 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_udp_tunnel.ko
79 AUTOLOAD
:=$(call AutoLoad
,32,ip6_udp_tunnel
)
82 $(eval
$(call KernelPackage
,udptunnel6
))
85 define KernelPackage
/vxlan
86 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
87 TITLE
:=Native VXLAN Kernel support
93 FILES
:=$(LINUX_DIR
)/drivers
/net
/vxlan.ko
94 AUTOLOAD
:=$(call AutoLoad
,13,vxlan
)
97 define KernelPackage
/vxlan
/description
98 Kernel module for supporting VXLAN in the Kernel.
99 Requires Kernel
3.12 or newer.
102 $(eval
$(call KernelPackage
,vxlan
))
105 define KernelPackage
/geneve
106 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
107 TITLE
:=Generic Network Virtualization Encapsulation
(Geneve
) support
111 +IPV6
:kmod-udptunnel6
112 KCONFIG
:=CONFIG_GENEVE
114 $(LINUX_DIR
)/drivers
/net
/geneve.ko
115 AUTOLOAD
:=$(call AutoLoad
,13,geneve
)
118 define KernelPackage
/geneve
/description
119 Kernel module for supporting Geneve in the Kernel.
120 Requires Kernel
3.18 or newer.
123 $(eval
$(call KernelPackage
,geneve
))
126 define KernelPackage
/nsh
127 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
128 TITLE
:=Network Service Header
(NSH
) protocol
130 KCONFIG
:=CONFIG_NET_NSH
131 FILES
:=$(LINUX_DIR
)/net
/nsh
/nsh.ko
132 AUTOLOAD
:=$(call AutoLoad
,13,nsh
)
135 define KernelPackage
/nsh
/description
136 Network Service Header is an implementation of Service Function
137 Chaining
(RFC
7665). Requires kernel
4.14 or newer
140 $(eval
$(call KernelPackage
,nsh
))
143 define KernelPackage
/misdn
144 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
145 TITLE
:=mISDN
(ISDN
) Support
152 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.ko \
153 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.ko \
154 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.ko
155 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
158 define KernelPackage
/misdn
/description
159 Modular ISDN driver support
162 $(eval
$(call KernelPackage
,misdn
))
165 define KernelPackage
/isdn4linux
166 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
167 TITLE
:=Old ISDN4Linux
(deprecated
)
173 CONFIG_ISDN_PPP_VJ
=y \
175 CONFIG_IPPP_FILTER
=y \
176 CONFIG_ISDN_PPP_BSDCOMP \
177 CONFIG_ISDN_CAPI_MIDDLEWARE
=y \
178 CONFIG_ISDN_CAPI_CAPIFS_BOOL
=y \
179 CONFIG_ISDN_AUDIO
=y \
180 CONFIG_ISDN_TTY_FAX
=y \
182 CONFIG_ISDN_DIVERSION
184 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.ko \
185 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.ko \
186 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.ko
187 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
190 define KernelPackage
/isdn4linux
/description
191 This driver allows you to use an ISDN adapter for networking
194 $(eval
$(call KernelPackage
,isdn4linux
))
197 define KernelPackage
/ipip
198 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
199 TITLE
:=IP-in-IP encapsulation
200 DEPENDS
:=+kmod-iptunnel
+kmod-iptunnel4
201 KCONFIG
:=CONFIG_NET_IPIP
202 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.ko
203 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
206 define KernelPackage
/ipip
/description
207 Kernel modules for IP-in-IP encapsulation
210 $(eval
$(call KernelPackage
,ipip
))
219 define KernelPackage
/ipsec
220 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
221 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
223 +kmod-crypto-authenc
+kmod-crypto-cbc
+kmod-crypto-deflate \
224 +kmod-crypto-des
+kmod-crypto-echainiv
+kmod-crypto-hmac \
225 +kmod-crypto-md5
+kmod-crypto-sha1
231 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
232 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
235 define KernelPackage
/ipsec
/description
236 Kernel modules for IPsec support in both IPv4 and IPv6.
244 $(eval
$(call KernelPackage
,ipsec
))
252 IPSEC4-m
+= $(ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),le
,5.2))),ipv4
/xfrm4_mode_beet ipv4
/xfrm4_mode_transport ipv4
/xfrm4_mode_tunnel
)
254 define KernelPackage
/ipsec4
255 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
256 TITLE
:=IPsec related modules
(IPv4
)
257 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
262 CONFIG_INET_XFRM_MODE_BEET \
263 CONFIG_INET_XFRM_MODE_TRANSPORT \
264 CONFIG_INET_XFRM_MODE_TUNNEL \
265 CONFIG_INET_XFRM_TUNNEL \
266 CONFIG_INET_ESP_OFFLOAD
=n
267 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
268 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
271 define KernelPackage
/ipsec4
/description
272 Kernel modules for IPsec support in IPv4.
278 - xfrm4_mode_transport
283 $(eval
$(call KernelPackage
,ipsec4
))
292 IPSEC6-m
+= $(ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),le
,5.2))),ipv6
/xfrm6_mode_beet ipv6
/xfrm6_mode_transport ipv6
/xfrm6_mode_tunnel
)
294 define KernelPackage
/ipsec6
295 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
296 TITLE
:=IPsec related modules
(IPv6
)
297 DEPENDS
:=@IPV6 kmod-ipsec
+kmod-iptunnel6
301 CONFIG_INET6_IPCOMP \
302 CONFIG_INET6_XFRM_MODE_BEET \
303 CONFIG_INET6_XFRM_MODE_TRANSPORT \
304 CONFIG_INET6_XFRM_MODE_TUNNEL \
305 CONFIG_INET6_XFRM_TUNNEL \
306 CONFIG_INET6_ESP_OFFLOAD
=n
307 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
308 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
311 define KernelPackage
/ipsec6
/description
312 Kernel modules for IPsec support in IPv6.
318 - xfrm6_mode_transport
323 $(eval
$(call KernelPackage
,ipsec6
))
326 define KernelPackage
/iptunnel
327 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
328 TITLE
:=IP tunnel support
332 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_tunnel.ko
333 AUTOLOAD
:=$(call AutoLoad
,31,ip_tunnel
)
336 define KernelPackage
/iptunnel
/description
337 Kernel module for generic IP tunnel support
340 $(eval
$(call KernelPackage
,iptunnel
))
343 define KernelPackage
/ip-vti
344 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
345 TITLE
:=IP VTI
(Virtual Tunnel Interface
)
346 DEPENDS
:=+kmod-iptunnel
+kmod-iptunnel4
+kmod-ipsec4
347 KCONFIG
:=CONFIG_NET_IPVTI
348 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_vti.ko
349 AUTOLOAD
:=$(call AutoLoad
,33,ip_vti
)
352 define KernelPackage
/ip-vti
/description
353 Kernel modules for IP VTI
(Virtual Tunnel Interface
)
356 $(eval
$(call KernelPackage
,ip-vti
))
359 define KernelPackage
/ip6-vti
360 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
361 TITLE
:=IPv6 VTI
(Virtual Tunnel Interface
)
362 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-ip6-tunnel
+kmod-ipsec6
363 KCONFIG
:=CONFIG_IPV6_VTI
364 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_vti.ko
365 AUTOLOAD
:=$(call AutoLoad
,33,ip6_vti
)
368 define KernelPackage
/ip6-vti
/description
369 Kernel modules for IPv6 VTI
(Virtual Tunnel Interface
)
372 $(eval
$(call KernelPackage
,ip6-vti
))
375 define KernelPackage
/xfrm-interface
376 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
377 TITLE
:=IPsec XFRM Interface
378 DEPENDS
:=+kmod-ipsec4
+IPV6
:kmod-ipsec6
379 KCONFIG
:=CONFIG_XFRM_INTERFACE
380 FILES
:=$(LINUX_DIR
)/net
/xfrm
/xfrm_interface.ko
381 AUTOLOAD
:=$(call AutoProbe
,xfrm_interface
)
384 define KernelPackage
/xfrm-interface
/description
385 Kernel module for XFRM interface support
388 $(eval
$(call KernelPackage
,xfrm-interface
))
391 define KernelPackage
/iptunnel4
392 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
393 TITLE
:=IPv4 tunneling
398 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.ko
399 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
402 define KernelPackage
/iptunnel4
/description
403 Kernel modules for IPv4 tunneling
406 $(eval
$(call KernelPackage
,iptunnel4
))
409 define KernelPackage
/iptunnel6
410 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
411 TITLE
:=IPv6 tunneling
415 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.ko
416 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
419 define KernelPackage
/iptunnel6
/description
420 Kernel modules for IPv6 tunneling
423 $(eval
$(call KernelPackage
,iptunnel6
))
426 define KernelPackage
/sit
427 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
428 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-iptunnel4
429 TITLE
:=IPv6-in-IPv4 tunnel
430 KCONFIG
:=CONFIG_IPV6_SIT \
431 CONFIG_IPV6_SIT_6RD
=y
432 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.ko
433 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
436 define KernelPackage
/sit
/description
437 Kernel modules for IPv6-in-IPv4 tunnelling
440 $(eval
$(call KernelPackage
,sit
))
443 define KernelPackage
/fou
444 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
445 TITLE
:=FOU and GUE decapsulation
449 +IPV6
:kmod-udptunnel6
452 CONFIG_NET_FOU_IP_TUNNELS
=y
453 FILES
:=$(LINUX_DIR
)/net
/ipv4
/fou.ko
454 AUTOLOAD
:=$(call AutoProbe
,fou
)
457 define KernelPackage
/fou
/description
458 Kernel module for FOU
(Foo over UDP
) and GUE
(Generic UDP Encapsulation
) tunnelling.
459 Requires Kernel
3.18 or newer.
462 $(eval
$(call KernelPackage
,fou
))
465 define KernelPackage
/fou6
466 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
467 TITLE
:=FOU and GUE decapsulation over IPv6
473 CONFIG_IPV6_FOU_TUNNEL
474 FILES
:=$(LINUX_DIR
)/net
/ipv6
/fou6.ko
475 AUTOLOAD
:=$(call AutoProbe
,fou6
)
478 define KernelPackage
/fou6
/description
479 Kernel module for FOU
(Foo over UDP
) and GUE
(Generic UDP Encapsulation
) tunnelling over IPv6.
480 Requires Kernel
3.18 or newer.
483 $(eval
$(call KernelPackage
,fou6
))
486 define KernelPackage
/ip6-tunnel
487 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
488 TITLE
:=IP-in-IPv6 tunnelling
489 DEPENDS
:=@IPV6
+kmod-iptunnel6
490 KCONFIG
:= CONFIG_IPV6_TUNNEL
491 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_tunnel.ko
492 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
495 define KernelPackage
/ip6-tunnel
/description
496 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
499 $(eval
$(call KernelPackage
,ip6-tunnel
))
502 define KernelPackage
/gre
503 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
505 DEPENDS
:=+kmod-iptunnel
506 KCONFIG
:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
507 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_gre.ko
$(LINUX_DIR
)/net
/ipv4
/gre.ko
508 AUTOLOAD
:=$(call AutoLoad
,39,gre ip_gre
)
511 define KernelPackage
/gre
/description
512 Generic Routing Encapsulation support
515 $(eval
$(call KernelPackage
,gre
))
518 define KernelPackage
/gre6
519 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
520 TITLE
:=GRE support over IPV6
521 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-ip6-tunnel
+kmod-gre
522 KCONFIG
:=CONFIG_IPV6_GRE
523 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_gre.ko
524 AUTOLOAD
:=$(call AutoLoad
,39,ip6_gre
)
527 define KernelPackage
/gre6
/description
528 Generic Routing Encapsulation support over IPv6
531 $(eval
$(call KernelPackage
,gre6
))
534 define KernelPackage
/tun
535 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
536 TITLE
:=Universal TUN
/TAP driver
538 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.ko
539 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
542 define KernelPackage
/tun
/description
543 Kernel support for the TUN
/TAP tunneling device
546 $(eval
$(call KernelPackage
,tun
))
549 define KernelPackage
/veth
550 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
551 TITLE
:=Virtual ethernet pair device
553 FILES
:=$(LINUX_DIR
)/drivers
/net
/veth.ko
554 AUTOLOAD
:=$(call AutoLoad
,30,veth
)
557 define KernelPackage
/veth
/description
558 This device is a local ethernet tunnel. Devices are created in pairs.
559 When one end receives the packet it appears on its pair and vice
563 $(eval
$(call KernelPackage
,veth
))
566 define KernelPackage
/slhc
567 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
569 TITLE
:=Serial Line Header Compression
570 DEPENDS
:=+kmod-lib-crc-ccitt
572 FILES
:=$(LINUX_DIR
)/drivers
/net
/slip
/slhc.ko
575 $(eval
$(call KernelPackage
,slhc
))
578 define KernelPackage
/ppp
579 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
581 DEPENDS
:=+kmod-lib-crc-ccitt
+kmod-slhc
586 $(LINUX_DIR
)/drivers
/net
/ppp
/ppp_async.ko \
587 $(LINUX_DIR
)/drivers
/net
/ppp
/ppp_generic.ko
588 AUTOLOAD
:=$(call AutoProbe
,ppp_async
)
591 define KernelPackage
/ppp
/description
592 Kernel modules for PPP support
595 $(eval
$(call KernelPackage
,ppp
))
598 define KernelPackage
/ppp-synctty
599 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
600 TITLE
:=PPP sync tty support
602 KCONFIG
:=CONFIG_PPP_SYNC_TTY
603 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/ppp_synctty.ko
604 AUTOLOAD
:=$(call AutoProbe
,ppp_synctty
)
607 define KernelPackage
/ppp-synctty
/description
608 Kernel modules for PPP sync tty support
611 $(eval
$(call KernelPackage
,ppp-synctty
))
614 define KernelPackage
/pppox
615 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
618 KCONFIG
:=CONFIG_PPPOE
619 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/pppox.ko
622 define KernelPackage
/pppox
/description
623 Kernel helper module for PPPoE and PPTP support
626 $(eval
$(call KernelPackage
,pppox
))
629 define KernelPackage
/pppoe
630 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
632 DEPENDS
:=kmod-ppp
+kmod-pppox
633 KCONFIG
:=CONFIG_PPPOE
634 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/pppoe.ko
635 AUTOLOAD
:=$(call AutoProbe
,pppoe
)
638 define KernelPackage
/pppoe
/description
639 Kernel module for PPPoE
(PPP over Ethernet
) support
642 $(eval
$(call KernelPackage
,pppoe
))
645 define KernelPackage
/pppoa
646 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
648 DEPENDS
:=kmod-ppp
+kmod-atm
649 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
650 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.ko
651 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
654 define KernelPackage
/pppoa
/description
655 Kernel modules for PPPoA
(PPP over ATM
) support
658 $(eval
$(call KernelPackage
,pppoa
))
661 define KernelPackage
/pptp
662 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
664 DEPENDS
:=kmod-ppp
+kmod-gre
+kmod-pppox
666 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/pptp.ko
667 AUTOLOAD
:=$(call AutoProbe
,pptp
)
670 $(eval
$(call KernelPackage
,pptp
))
673 define KernelPackage
/pppol2tp
674 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
675 TITLE
:=PPPoL2TP support
676 DEPENDS
:=kmod-ppp
+kmod-pppox
+kmod-l2tp
677 KCONFIG
:=CONFIG_PPPOL2TP
678 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_ppp.ko
679 AUTOLOAD
:=$(call AutoProbe
,l2tp_ppp
)
682 define KernelPackage
/pppol2tp
/description
683 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
686 $(eval
$(call KernelPackage
,pppol2tp
))
689 define KernelPackage
/ipoa
690 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
693 KCONFIG
:=CONFIG_ATM_CLIP
694 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.ko
695 AUTOLOAD
:=$(call AutoProbe
,clip
)
698 define KernelPackage
/ipoa
/description
699 Kernel modules for IPoA
(IP over ATM
) support
702 $(eval
$(call KernelPackage
,ipoa
))
705 define KernelPackage
/mppe
706 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
707 TITLE
:=Microsoft PPP compression
/encryption
708 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
+kmod-crypto-ecb
710 CONFIG_PPP_MPPE_MPPC \
712 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/ppp_mppe.ko
713 AUTOLOAD
:=$(call AutoProbe
,ppp_mppe
)
716 define KernelPackage
/mppe
/description
717 Kernel modules for Microsoft PPP compression
/encryption
720 $(eval
$(call KernelPackage
,mppe
))
723 SCHED_MODULES
= $(patsubst $(LINUX_DIR
)/net
/sched
/%.ko
,%,$(wildcard $(LINUX_DIR
)/net
/sched
/*.ko
))
724 SCHED_MODULES_CORE
= sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit cls_matchall
725 SCHED_MODULES_FILTER
= $(SCHED_MODULES_CORE
) act_connmark act_ctinfo sch_cake sch_netem sch_mqprio em_ipset cls_bpf cls_flower act_bpf act_vlan
726 SCHED_MODULES_EXTRA
= $(filter-out $(SCHED_MODULES_FILTER
),$(SCHED_MODULES
))
727 SCHED_FILES
= $(patsubst %,$(LINUX_DIR
)/net
/sched
/%.ko
,$(filter $(SCHED_MODULES_CORE
),$(SCHED_MODULES
)))
728 SCHED_FILES_EXTRA
= $(patsubst %,$(LINUX_DIR
)/net
/sched
/%.ko
,$(SCHED_MODULES_EXTRA
))
730 define KernelPackage
/sched-core
731 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
732 TITLE
:=Traffic schedulers
735 CONFIG_NET_SCH_HFSC \
738 CONFIG_NET_SCH_INGRESS \
739 CONFIG_NET_SCH_FQ_CODEL \
741 CONFIG_NET_CLS_ACT
=y \
742 CONFIG_NET_CLS_BASIC \
743 CONFIG_NET_CLS_FLOW \
745 CONFIG_NET_CLS_ROUTE4 \
746 CONFIG_NET_CLS_TCINDEX \
748 CONFIG_NET_ACT_MIRRED \
749 CONFIG_NET_ACT_SKBEDIT \
750 CONFIG_NET_CLS_MATCHALL \
751 CONFIG_NET_EMATCH
=y \
752 CONFIG_NET_EMATCH_U32
753 FILES
:=$(SCHED_FILES
)
754 AUTOLOAD
:=$(call AutoLoad
,70, $(SCHED_MODULES_CORE
))
757 define KernelPackage
/sched-core
/description
758 Core kernel scheduler support for IP traffic
761 $(eval
$(call KernelPackage
,sched-core
))
764 define KernelPackage
/sched-cake
765 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
766 TITLE
:=Cake fq_codel
/blue derived shaper
767 DEPENDS
:=+kmod-sched-core
768 KCONFIG
:=CONFIG_NET_SCH_CAKE
769 FILES
:=$(LINUX_DIR
)/net
/sched
/sch_cake.ko
770 AUTOLOAD
:=$(call AutoProbe
,sch_cake
)
773 define KernelPackage
/sched-cake
/description
774 Common Applications Kept Enhanced fq_codel
/blue derived shaper
777 $(eval
$(call KernelPackage
,sched-cake
))
779 define KernelPackage
/sched-flower
780 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
781 TITLE
:=Flower traffic classifier
782 DEPENDS
:=+kmod-sched-core
783 KCONFIG
:=CONFIG_NET_CLS_FLOWER
784 FILES
:=$(LINUX_DIR
)/net
/sched
/cls_flower.ko
785 AUTOLOAD
:=$(call AutoProbe
, cls_flower
)
788 define KernelPackage
/sched-flower
/description
789 Allows to classify packets based on a configurable combination of packet keys and masks.
792 $(eval
$(call KernelPackage
,sched-flower
))
795 define KernelPackage
/sched-act-vlan
796 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
797 TITLE
:=Traffic VLAN manipulation
798 DEPENDS
:=+kmod-sched-core
799 KCONFIG
:=CONFIG_NET_ACT_VLAN
800 FILES
:=$(LINUX_DIR
)/net
/sched
/act_vlan.ko
801 AUTOLOAD
:=$(call AutoProbe
, act_vlan
)
804 define KernelPackage
/sched-act-vlan
/description
805 Allows to configure rules to push or pop vlan headers.
808 $(eval
$(call KernelPackage
,sched-act-vlan
))
811 define KernelPackage
/sched-mqprio
812 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
813 TITLE
:=Multi-queue priority scheduler
(MQPRIO
)
814 DEPENDS
:=+kmod-sched-core
815 KCONFIG
:=CONFIG_NET_SCH_MQPRIO
816 FILES
:=$(LINUX_DIR
)/net
/sched
/sch_mqprio.ko
817 AUTOLOAD
:=$(call AutoProbe
, sch_mqprio
)
820 define KernelPackage
/sched-mqprio
/description
821 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
824 $(eval
$(call KernelPackage
,sched-mqprio
))
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
)
834 $(eval
$(call KernelPackage
,sched-connmark
))
836 define KernelPackage
/sched-ctinfo
837 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
838 TITLE
:=Traffic shaper ctinfo support
839 DEPENDS
:=+kmod-sched-core
+kmod-ipt-core
+kmod-ipt-conntrack-extra
840 KCONFIG
:=CONFIG_NET_ACT_CTINFO
841 FILES
:=$(LINUX_DIR
)/net
/sched
/act_ctinfo.ko
842 AUTOLOAD
:=$(call AutoLoad
,71, act_ctinfo
)
844 $(eval
$(call KernelPackage
,sched-ctinfo
))
846 define KernelPackage
/sched-ipset
847 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
848 TITLE
:=Traffic shaper ipset support
849 DEPENDS
:=+kmod-sched-core
+kmod-ipt-ipset
851 CONFIG_NET_EMATCH_IPSET
853 $(LINUX_DIR
)/net
/sched
/em_ipset.ko
854 AUTOLOAD
:=$(call AutoLoad
,72,em_ipset
)
857 $(eval
$(call KernelPackage
,sched-ipset
))
860 define KernelPackage
/sched-bpf
861 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
862 TITLE
:=Traffic shaper support for Berkeley Packet Filter
867 $(LINUX_DIR
)/net
/sched
/cls_bpf.ko \
868 $(LINUX_DIR
)/net
/sched
/act_bpf.ko
869 AUTOLOAD
:=$(call AutoLoad
,72,cls_bpf act_bpf
)
872 $(eval
$(call KernelPackage
,sched-bpf
))
875 define KernelPackage
/bpf-test
876 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
877 TITLE
:=Test Berkeley Packet Filter functionality
878 KCONFIG
:=CONFIG_TEST_BPF
879 FILES
:=$(LINUX_DIR
)/lib
/test_bpf.ko
882 $(eval
$(call KernelPackage
,bpf-test
))
885 define KernelPackage
/sched
886 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
887 TITLE
:=Extra traffic schedulers
888 DEPENDS
:=+kmod-sched-core
+kmod-ipt-core
+kmod-lib-crc32c
890 CONFIG_NET_SCH_CODEL \
891 CONFIG_NET_SCH_DSMARK \
892 CONFIG_NET_SCH_FIFO \
893 CONFIG_NET_SCH_GRED \
894 CONFIG_NET_SCH_MULTIQ \
895 CONFIG_NET_SCH_PRIO \
898 CONFIG_NET_SCH_TEQL \
901 CONFIG_NET_ACT_POLICE \
902 CONFIG_NET_ACT_GACT \
904 CONFIG_NET_ACT_PEDIT \
905 CONFIG_NET_ACT_SIMP \
906 CONFIG_NET_ACT_CSUM \
907 CONFIG_NET_EMATCH_CMP \
908 CONFIG_NET_EMATCH_NBYTE \
909 CONFIG_NET_EMATCH_META \
910 CONFIG_NET_EMATCH_TEXT
911 FILES
:=$(SCHED_FILES_EXTRA
)
912 AUTOLOAD
:=$(call AutoLoad
,73, $(SCHED_MODULES_EXTRA
))
915 define KernelPackage
/sched
/description
916 Extra kernel schedulers modules for IP traffic
919 $(eval
$(call KernelPackage
,sched
))
922 define KernelPackage
/tcp-bbr
923 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
924 TITLE
:=BBR TCP congestion control
925 KCONFIG
:=CONFIG_TCP_CONG_BBR
926 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tcp_bbr.ko
927 AUTOLOAD
:=$(call AutoProbe
,tcp_bbr
)
930 define KernelPackage
/tcp-bbr
/description
931 Kernel module for BBR
(Bottleneck Bandwidth and RTT
) TCP congestion
932 control. It requires the fq
("Fair Queue") pacing packet scheduler.
933 For kernel
4.13+, TCP internal pacing is implemented
as fallback.
936 TCP_BBR_SYSCTL_CONF
:=sysctl-tcp-bbr.conf
938 define KernelPackage
/tcp-bbr
/install
939 $(INSTALL_DIR
) $(1)/etc
/sysctl.d
940 $(INSTALL_DATA
) .
/files
/$(TCP_BBR_SYSCTL_CONF
) $(1)/etc
/sysctl.d
/12-tcp-bbr.conf
943 $(eval
$(call KernelPackage
,tcp-bbr
))
946 define KernelPackage
/tcp-hybla
947 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
948 TITLE
:=TCP-Hybla congestion control algorithm
949 KCONFIG
:=CONFIG_TCP_CONG_HYBLA
950 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tcp_hybla.ko
951 AUTOLOAD
:=$(call AutoProbe
,tcp_hybla
)
954 define KernelPackage
/tcp-hybla
/description
955 TCP-Hybla is a sender-side only change that eliminates penalization of
956 long-RTT
, large-bandwidth connections
, like when satellite legs are
957 involved
, especially when sharing a common bottleneck with normal
958 terrestrial connections.
961 $(eval
$(call KernelPackage
,tcp-hybla
))
964 define KernelPackage
/ax25
965 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
967 DEPENDS
:=+kmod-lib-crc16
973 $(LINUX_DIR
)/net
/ax25
/ax25.ko \
974 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.ko
975 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
978 define KernelPackage
/ax25
/description
979 Kernel modules for AX25 support
982 $(eval
$(call KernelPackage
,ax25
))
985 define KernelPackage
/pktgen
986 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
987 DEPENDS
:=@
!TARGET_uml
988 TITLE
:=Network packet generator
989 KCONFIG
:=CONFIG_NET_PKTGEN
990 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.ko
991 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
994 define KernelPackage
/pktgen
/description
995 Kernel modules for the Network Packet Generator
998 $(eval
$(call KernelPackage
,pktgen
))
1000 define KernelPackage
/l2tp
1001 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1002 TITLE
:=Layer Two Tunneling Protocol
(L2TP
)
1005 +IPV6
:kmod-udptunnel6
1006 KCONFIG
:=CONFIG_L2TP \
1008 CONFIG_L2TP_DEBUGFS
=n
1009 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_core.ko \
1010 $(LINUX_DIR
)/net
/l2tp
/l2tp_netlink.ko
1011 AUTOLOAD
:=$(call AutoLoad
,32,l2tp_core l2tp_netlink
)
1014 define KernelPackage
/l2tp
/description
1015 Kernel modules for L2TP V3 Support
1018 $(eval
$(call KernelPackage
,l2tp
))
1021 define KernelPackage
/l2tp-eth
1022 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1023 TITLE
:=L2TP ethernet pseudowire support for L2TPv3
1025 KCONFIG
:=CONFIG_L2TP_ETH
1026 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_eth.ko
1027 AUTOLOAD
:=$(call AutoLoad
,33,l2tp_eth
)
1030 define KernelPackage
/l2tp-eth
/description
1031 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1034 $(eval
$(call KernelPackage
,l2tp-eth
))
1036 define KernelPackage
/l2tp-ip
1037 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1038 TITLE
:=L2TP IP encapsulation for L2TPv3
1040 KCONFIG
:=CONFIG_L2TP_IP
1042 $(LINUX_DIR
)/net
/l2tp
/l2tp_ip.ko \
1043 $(if
$(CONFIG_IPV6
),$(LINUX_DIR
)/net
/l2tp
/l2tp_ip6.ko
)
1044 AUTOLOAD
:=$(call AutoLoad
,33,l2tp_ip
$(if
$(CONFIG_IPV6
),l2tp_ip6
))
1047 define KernelPackage
/l2tp-ip
/description
1048 Kernel modules for L2TP IP encapsulation for L2TPv3
1051 $(eval
$(call KernelPackage
,l2tp-ip
))
1054 define KernelPackage
/sctp
1055 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1056 TITLE
:=SCTP protocol kernel support
1059 CONFIG_SCTP_DBG_MSG
=n \
1060 CONFIG_SCTP_DBG_OBJCNT
=n \
1061 CONFIG_SCTP_HMAC_NONE
=n \
1062 CONFIG_SCTP_HMAC_SHA1
=n \
1063 CONFIG_SCTP_HMAC_MD5
=y \
1064 CONFIG_SCTP_COOKIE_HMAC_SHA1
=n \
1065 CONFIG_SCTP_COOKIE_HMAC_MD5
=y \
1066 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE
=n \
1067 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1
=n \
1068 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5
=y
1069 FILES
:= $(LINUX_DIR
)/net
/sctp
/sctp.ko
1070 AUTOLOAD
:= $(call AutoLoad
,32,sctp
)
1071 DEPENDS
:=+kmod-lib-crc32c
+kmod-crypto-md5
+kmod-crypto-hmac
1074 define KernelPackage
/sctp
/description
1075 Kernel modules for SCTP protocol support
1078 $(eval
$(call KernelPackage
,sctp
))
1081 define KernelPackage
/netem
1082 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1083 TITLE
:=Network emulation functionality
1084 DEPENDS
:=+kmod-sched
1085 KCONFIG
:=CONFIG_NET_SCH_NETEM
1086 FILES
:=$(LINUX_DIR
)/net
/sched
/sch_netem.ko
1087 AUTOLOAD
:=$(call AutoLoad
,99,netem
)
1090 define KernelPackage
/netem
/description
1091 Kernel modules for emulating the properties of wide area networks
1094 $(eval
$(call KernelPackage
,netem
))
1096 define KernelPackage
/slip
1097 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1102 CONFIG_SLIP_COMPRESSED
=y \
1103 CONFIG_SLIP_SMART
=y \
1104 CONFIG_SLIP_MODE_SLIP6
=y
1107 $(LINUX_DIR
)/drivers
/net
/slip
/slip.ko
1108 AUTOLOAD
:=$(call AutoLoad
,30,slip
)
1111 define KernelPackage
/slip
/description
1112 Kernel modules for SLIP support
1115 $(eval
$(call KernelPackage
,slip
))
1117 define KernelPackage
/dnsresolver
1118 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1119 TITLE
:=In-kernel DNS Resolver
1120 KCONFIG
:= CONFIG_DNS_RESOLVER
1121 FILES
:=$(LINUX_DIR
)/net
/dns_resolver
/dns_resolver.ko
1122 AUTOLOAD
:=$(call AutoLoad
,30,dns_resolver
)
1125 $(eval
$(call KernelPackage
,dnsresolver
))
1127 define KernelPackage
/rxrpc
1128 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1129 TITLE
:=AF_RXRPC support
1134 CONFIG_AF_RXRPC_DEBUG
=n
1136 $(LINUX_DIR
)/net
/rxrpc
/rxrpc.ko
1137 AUTOLOAD
:=$(call AutoLoad
,30,rxrpc.ko
)
1138 DEPENDS
:= +kmod-crypto-manager
+kmod-crypto-pcbc
+kmod-crypto-fcrypt
1141 define KernelPackage
/rxrpc
/description
1142 Kernel support for AF_RXRPC
; required for AFS client
1145 $(eval
$(call KernelPackage
,rxrpc
))
1147 define KernelPackage
/mpls
1148 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1150 DEPENDS
:=+kmod-iptunnel
1154 CONFIG_LWTUNNEL_BPF
=n \
1155 CONFIG_NET_MPLS_GSO
=m \
1156 CONFIG_MPLS_ROUTING
=m \
1157 CONFIG_MPLS_IPTUNNEL
=m
1159 $(LINUX_DIR
)/net
/mpls
/mpls_gso.ko \
1160 $(LINUX_DIR
)/net
/mpls
/mpls_iptunnel.ko \
1161 $(LINUX_DIR
)/net
/mpls
/mpls_router.ko
1162 AUTOLOAD
:=$(call AutoLoad
,30,mpls_router mpls_iptunnel mpls_gso
)
1165 define KernelPackage
/mpls
/description
1166 Kernel support for MPLS
1169 $(eval
$(call KernelPackage
,mpls
))
1171 define KernelPackage
/9pnet
1172 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1173 TITLE
:=Plan
9 Resource Sharing Support
(9P2000
)
1174 DEPENDS
:=@VIRTIO_SUPPORT
1177 CONFIG_NET_9P_DEBUG
=n \
1178 CONFIG_NET_9P_XEN
=n \
1179 CONFIG_NET_9P_VIRTIO
1181 $(LINUX_DIR
)/net
/9p
/9pnet.ko \
1182 $(LINUX_DIR
)/net
/9p
/9pnet_virtio.ko
1183 AUTOLOAD
:=$(call AutoLoad
,29,9pnet
9pnet_virtio
)
1186 define KernelPackage
/9pnet
/description
1187 Kernel support support for
1188 Plan
9 resource sharing via the
9P2000 protocol.
1191 $(eval
$(call KernelPackage
,9pnet
))
1194 define KernelPackage
/nlmon
1195 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1196 TITLE
:=Virtual netlink monitoring device
1197 KCONFIG
:=CONFIG_NLMON
1198 FILES
:=$(LINUX_DIR
)/drivers
/net
/nlmon.ko
1199 AUTOLOAD
:=$(call AutoProbe
,nlmon
)
1202 define KernelPackage
/nlmon
/description
1203 Kernel module which adds a monitoring device for netlink.
1206 $(eval
$(call KernelPackage
,nlmon
))
1209 define KernelPackage
/mdio
1210 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1211 TITLE
:=MDIO
(clause
45) PHY support
1212 KCONFIG
:=CONFIG_MDIO
1214 FILES
:=$(LINUX_DIR
)/drivers
/net
/mdio.ko
1215 AUTOLOAD
:=$(call AutoLoad
,32,mdio
)
1218 define KernelPackage
/mdio
/description
1219 Kernel modules for MDIO
(clause
45) PHY support
1222 $(eval
$(call KernelPackage
,mdio
))
1224 define KernelPackage
/macsec
1225 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1226 TITLE
:=IEEE
802.1AE MAC-level encryption
(MAC
)
1227 DEPENDS
:=+kmod-crypto-gcm
1228 KCONFIG
:=CONFIG_MACSEC
1229 FILES
:=$(LINUX_DIR
)/drivers
/net
/macsec.ko
1230 AUTOLOAD
:=$(call AutoLoad
,13,macsec
)
1233 define KernelPackage
/macsec
/description
1234 MACsec is an encryption standard for Ethernet.
1237 $(eval
$(call KernelPackage
,macsec
))
1240 define KernelPackage
/netlink-diag
1241 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1242 TITLE
:=Netlink diag support for ss utility
1243 KCONFIG
:=CONFIG_NETLINK_DIAG
1244 FILES
:=$(LINUX_DIR
)/net
/netlink
/netlink_diag.ko
1245 AUTOLOAD
:=$(call AutoLoad
,31,netlink-diag
)
1248 define KernelPackage
/netlink-diag
/description
1249 Netlink diag is a module made for use with iproute2
's ss utility
1252 $(eval $(call KernelPackage,netlink-diag))
1255 define KernelPackage/wireguard
1257 CATEGORY:=Kernel modules
1258 SUBMENU:=Network Support
1259 TITLE:=WireGuard kernel module
1261 +kmod-crypto-lib-blake2s \
1262 +kmod-crypto-lib-chacha20poly1305 \
1263 +kmod-crypto-lib-curve25519 \
1265 +IPV6:kmod-udptunnel6
1268 CONFIG_WIREGUARD_DEBUG=n
1269 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1270 AUTOLOAD:=$(call AutoProbe,wireguard)
1273 define KernelPackage/wireguard/description
1274 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1275 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1276 more useful than IPSec, while avoiding the massive headache. It intends to
1277 be considerably more performant than OpenVPN. WireGuard is designed as a
1278 general purpose VPN for running on embedded interfaces and super computers
1279 alike, fit for many different circumstances. It uses UDP.
1282 $(eval $(call KernelPackage,wireguard))