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 SCHED_TEQL_HOTPLUG
:=hotplug-sched-teql.sh
921 define KernelPackage
/sched
/install
922 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/iface
923 $(INSTALL_DATA
) .
/files
/$(SCHED_TEQL_HOTPLUG
) $(1)/etc
/hotplug.d
/iface
/15-teql
926 $(eval
$(call KernelPackage
,sched
))
929 define KernelPackage
/tcp-bbr
930 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
931 TITLE
:=BBR TCP congestion control
932 KCONFIG
:=CONFIG_TCP_CONG_BBR
933 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tcp_bbr.ko
934 AUTOLOAD
:=$(call AutoProbe
,tcp_bbr
)
937 define KernelPackage
/tcp-bbr
/description
938 Kernel module for BBR
(Bottleneck Bandwidth and RTT
) TCP congestion
939 control. It requires the fq
("Fair Queue") pacing packet scheduler.
940 For kernel
4.13+, TCP internal pacing is implemented
as fallback.
943 TCP_BBR_SYSCTL_CONF
:=sysctl-tcp-bbr.conf
945 define KernelPackage
/tcp-bbr
/install
946 $(INSTALL_DIR
) $(1)/etc
/sysctl.d
947 $(INSTALL_DATA
) .
/files
/$(TCP_BBR_SYSCTL_CONF
) $(1)/etc
/sysctl.d
/12-tcp-bbr.conf
950 $(eval
$(call KernelPackage
,tcp-bbr
))
953 define KernelPackage
/tcp-hybla
954 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
955 TITLE
:=TCP-Hybla congestion control algorithm
956 KCONFIG
:=CONFIG_TCP_CONG_HYBLA
957 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tcp_hybla.ko
958 AUTOLOAD
:=$(call AutoProbe
,tcp_hybla
)
961 define KernelPackage
/tcp-hybla
/description
962 TCP-Hybla is a sender-side only change that eliminates penalization of
963 long-RTT
, large-bandwidth connections
, like when satellite legs are
964 involved
, especially when sharing a common bottleneck with normal
965 terrestrial connections.
968 $(eval
$(call KernelPackage
,tcp-hybla
))
971 define KernelPackage
/ax25
972 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
974 DEPENDS
:=+kmod-lib-crc16
980 $(LINUX_DIR
)/net
/ax25
/ax25.ko \
981 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.ko
982 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
985 define KernelPackage
/ax25
/description
986 Kernel modules for AX25 support
989 $(eval
$(call KernelPackage
,ax25
))
992 define KernelPackage
/pktgen
993 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
994 DEPENDS
:=@
!TARGET_uml
995 TITLE
:=Network packet generator
996 KCONFIG
:=CONFIG_NET_PKTGEN
997 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.ko
998 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
1001 define KernelPackage
/pktgen
/description
1002 Kernel modules for the Network Packet Generator
1005 $(eval
$(call KernelPackage
,pktgen
))
1007 define KernelPackage
/l2tp
1008 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1009 TITLE
:=Layer Two Tunneling Protocol
(L2TP
)
1012 +IPV6
:kmod-udptunnel6
1013 KCONFIG
:=CONFIG_L2TP \
1015 CONFIG_L2TP_DEBUGFS
=n
1016 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_core.ko \
1017 $(LINUX_DIR
)/net
/l2tp
/l2tp_netlink.ko
1018 AUTOLOAD
:=$(call AutoLoad
,32,l2tp_core l2tp_netlink
)
1021 define KernelPackage
/l2tp
/description
1022 Kernel modules for L2TP V3 Support
1025 $(eval
$(call KernelPackage
,l2tp
))
1028 define KernelPackage
/l2tp-eth
1029 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1030 TITLE
:=L2TP ethernet pseudowire support for L2TPv3
1032 KCONFIG
:=CONFIG_L2TP_ETH
1033 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_eth.ko
1034 AUTOLOAD
:=$(call AutoLoad
,33,l2tp_eth
)
1037 define KernelPackage
/l2tp-eth
/description
1038 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1041 $(eval
$(call KernelPackage
,l2tp-eth
))
1043 define KernelPackage
/l2tp-ip
1044 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1045 TITLE
:=L2TP IP encapsulation for L2TPv3
1047 KCONFIG
:=CONFIG_L2TP_IP
1049 $(LINUX_DIR
)/net
/l2tp
/l2tp_ip.ko \
1050 $(if
$(CONFIG_IPV6
),$(LINUX_DIR
)/net
/l2tp
/l2tp_ip6.ko
)
1051 AUTOLOAD
:=$(call AutoLoad
,33,l2tp_ip
$(if
$(CONFIG_IPV6
),l2tp_ip6
))
1054 define KernelPackage
/l2tp-ip
/description
1055 Kernel modules for L2TP IP encapsulation for L2TPv3
1058 $(eval
$(call KernelPackage
,l2tp-ip
))
1061 define KernelPackage
/sctp
1062 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1063 TITLE
:=SCTP protocol kernel support
1066 CONFIG_SCTP_DBG_MSG
=n \
1067 CONFIG_SCTP_DBG_OBJCNT
=n \
1068 CONFIG_SCTP_HMAC_NONE
=n \
1069 CONFIG_SCTP_HMAC_SHA1
=n \
1070 CONFIG_SCTP_HMAC_MD5
=y \
1071 CONFIG_SCTP_COOKIE_HMAC_SHA1
=n \
1072 CONFIG_SCTP_COOKIE_HMAC_MD5
=y \
1073 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE
=n \
1074 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1
=n \
1075 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5
=y
1076 FILES
:= $(LINUX_DIR
)/net
/sctp
/sctp.ko
1077 AUTOLOAD
:= $(call AutoLoad
,32,sctp
)
1078 DEPENDS
:=+kmod-lib-crc32c
+kmod-crypto-md5
+kmod-crypto-hmac
1081 define KernelPackage
/sctp
/description
1082 Kernel modules for SCTP protocol support
1085 $(eval
$(call KernelPackage
,sctp
))
1088 define KernelPackage
/netem
1089 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1090 TITLE
:=Network emulation functionality
1091 DEPENDS
:=+kmod-sched
1092 KCONFIG
:=CONFIG_NET_SCH_NETEM
1093 FILES
:=$(LINUX_DIR
)/net
/sched
/sch_netem.ko
1094 AUTOLOAD
:=$(call AutoLoad
,99,netem
)
1097 define KernelPackage
/netem
/description
1098 Kernel modules for emulating the properties of wide area networks
1101 $(eval
$(call KernelPackage
,netem
))
1103 define KernelPackage
/slip
1104 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1109 CONFIG_SLIP_COMPRESSED
=y \
1110 CONFIG_SLIP_SMART
=y \
1111 CONFIG_SLIP_MODE_SLIP6
=y
1114 $(LINUX_DIR
)/drivers
/net
/slip
/slip.ko
1115 AUTOLOAD
:=$(call AutoLoad
,30,slip
)
1118 define KernelPackage
/slip
/description
1119 Kernel modules for SLIP support
1122 $(eval
$(call KernelPackage
,slip
))
1124 define KernelPackage
/dnsresolver
1125 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1126 TITLE
:=In-kernel DNS Resolver
1127 KCONFIG
:= CONFIG_DNS_RESOLVER
1128 FILES
:=$(LINUX_DIR
)/net
/dns_resolver
/dns_resolver.ko
1129 AUTOLOAD
:=$(call AutoLoad
,30,dns_resolver
)
1132 $(eval
$(call KernelPackage
,dnsresolver
))
1134 define KernelPackage
/rxrpc
1135 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1136 TITLE
:=AF_RXRPC support
1141 CONFIG_AF_RXRPC_DEBUG
=n
1143 $(LINUX_DIR
)/net
/rxrpc
/rxrpc.ko
1144 AUTOLOAD
:=$(call AutoLoad
,30,rxrpc.ko
)
1145 DEPENDS
:= +kmod-crypto-manager
+kmod-crypto-pcbc
+kmod-crypto-fcrypt
1148 define KernelPackage
/rxrpc
/description
1149 Kernel support for AF_RXRPC
; required for AFS client
1152 $(eval
$(call KernelPackage
,rxrpc
))
1154 define KernelPackage
/mpls
1155 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1157 DEPENDS
:=+kmod-iptunnel
1161 CONFIG_LWTUNNEL_BPF
=n \
1162 CONFIG_NET_MPLS_GSO
=m \
1163 CONFIG_MPLS_ROUTING
=m \
1164 CONFIG_MPLS_IPTUNNEL
=m
1166 $(LINUX_DIR
)/net
/mpls
/mpls_gso.ko \
1167 $(LINUX_DIR
)/net
/mpls
/mpls_iptunnel.ko \
1168 $(LINUX_DIR
)/net
/mpls
/mpls_router.ko
1169 AUTOLOAD
:=$(call AutoLoad
,30,mpls_router mpls_iptunnel mpls_gso
)
1172 define KernelPackage
/mpls
/description
1173 Kernel support for MPLS
1176 $(eval
$(call KernelPackage
,mpls
))
1178 define KernelPackage
/9pnet
1179 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1180 TITLE
:=Plan
9 Resource Sharing Support
(9P2000
)
1181 DEPENDS
:=@VIRTIO_SUPPORT
1184 CONFIG_NET_9P_DEBUG
=n \
1185 CONFIG_NET_9P_XEN
=n \
1186 CONFIG_NET_9P_VIRTIO
1188 $(LINUX_DIR
)/net
/9p
/9pnet.ko \
1189 $(LINUX_DIR
)/net
/9p
/9pnet_virtio.ko
1190 AUTOLOAD
:=$(call AutoLoad
,29,9pnet
9pnet_virtio
)
1193 define KernelPackage
/9pnet
/description
1194 Kernel support support for
1195 Plan
9 resource sharing via the
9P2000 protocol.
1198 $(eval
$(call KernelPackage
,9pnet
))
1201 define KernelPackage
/nlmon
1202 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1203 TITLE
:=Virtual netlink monitoring device
1204 KCONFIG
:=CONFIG_NLMON
1205 FILES
:=$(LINUX_DIR
)/drivers
/net
/nlmon.ko
1206 AUTOLOAD
:=$(call AutoProbe
,nlmon
)
1209 define KernelPackage
/nlmon
/description
1210 Kernel module which adds a monitoring device for netlink.
1213 $(eval
$(call KernelPackage
,nlmon
))
1216 define KernelPackage
/mdio
1217 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1218 TITLE
:=MDIO
(clause
45) PHY support
1219 KCONFIG
:=CONFIG_MDIO
1221 FILES
:=$(LINUX_DIR
)/drivers
/net
/mdio.ko
1222 AUTOLOAD
:=$(call AutoLoad
,32,mdio
)
1225 define KernelPackage
/mdio
/description
1226 Kernel modules for MDIO
(clause
45) PHY support
1229 $(eval
$(call KernelPackage
,mdio
))
1231 define KernelPackage
/macsec
1232 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1233 TITLE
:=IEEE
802.1AE MAC-level encryption
(MAC
)
1234 DEPENDS
:=+kmod-crypto-gcm
1235 KCONFIG
:=CONFIG_MACSEC
1236 FILES
:=$(LINUX_DIR
)/drivers
/net
/macsec.ko
1237 AUTOLOAD
:=$(call AutoLoad
,13,macsec
)
1240 define KernelPackage
/macsec
/description
1241 MACsec is an encryption standard for Ethernet.
1244 $(eval
$(call KernelPackage
,macsec
))
1247 define KernelPackage
/netlink-diag
1248 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1249 TITLE
:=Netlink diag support for ss utility
1250 KCONFIG
:=CONFIG_NETLINK_DIAG
1251 FILES
:=$(LINUX_DIR
)/net
/netlink
/netlink_diag.ko
1252 AUTOLOAD
:=$(call AutoLoad
,31,netlink-diag
)
1255 define KernelPackage
/netlink-diag
/description
1256 Netlink diag is a module made for use with iproute2
's ss utility
1259 $(eval $(call KernelPackage,netlink-diag))
1262 define KernelPackage/wireguard
1263 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1264 TITLE:=WireGuard secure network tunnel
1266 +kmod-crypto-lib-blake2s \
1267 +kmod-crypto-lib-chacha20poly1305 \
1268 +kmod-crypto-lib-curve25519 \
1270 +IPV6:kmod-udptunnel6
1273 CONFIG_WIREGUARD_DEBUG=n
1274 FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
1275 AUTOLOAD:=$(call AutoProbe,wireguard)
1278 define KernelPackage/wireguard/description
1279 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1280 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
1281 more useful than IPSec, while avoiding the massive headache. It intends to
1282 be considerably more performant than OpenVPN. WireGuard is designed as a
1283 general purpose VPN for running on embedded interfaces and super computers
1284 alike, fit for many different circumstances. It uses UDP.
1287 $(eval $(call KernelPackage,wireguard))