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
64 CONFIG_NET_UDP_TUNNEL \
67 FILES
:=$(LINUX_DIR
)/net
/ipv4
/udp_tunnel.ko
68 AUTOLOAD
:=$(call AutoLoad
,32,udp_tunnel
)
72 $(eval
$(call KernelPackage
,udptunnel4
))
74 define KernelPackage
/udptunnel6
75 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
76 TITLE
:=IPv6 UDP tunneling support
79 CONFIG_NET_UDP_TUNNEL \
82 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_udp_tunnel.ko
83 AUTOLOAD
:=$(call AutoLoad
,32,ip6_udp_tunnel
)
86 $(eval
$(call KernelPackage
,udptunnel6
))
89 define KernelPackage
/vxlan
90 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
91 TITLE
:=Native VXLAN Kernel support
97 FILES
:=$(LINUX_DIR
)/drivers
/net
/vxlan.ko
98 AUTOLOAD
:=$(call AutoLoad
,13,vxlan
)
101 define KernelPackage
/vxlan
/description
102 Kernel module for supporting VXLAN in the Kernel.
103 Requires Kernel
3.12 or newer.
106 $(eval
$(call KernelPackage
,vxlan
))
109 define KernelPackage
/geneve
110 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
111 TITLE
:=Generic Network Virtualization Encapsulation
(Geneve
) support
115 +IPV6
:kmod-udptunnel6
116 KCONFIG
:=CONFIG_GENEVE
118 $(LINUX_DIR
)/drivers
/net
/geneve.ko
119 AUTOLOAD
:=$(call AutoLoad
,13,geneve
)
122 define KernelPackage
/geneve
/description
123 Kernel module for supporting Geneve in the Kernel.
124 Requires Kernel
3.18 or newer.
127 $(eval
$(call KernelPackage
,geneve
))
130 define KernelPackage
/nsh
131 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
132 TITLE
:=Network Service Header
(NSH
) protocol
134 KCONFIG
:=CONFIG_NET_NSH
135 FILES
:=$(LINUX_DIR
)/net
/nsh
/nsh.ko
136 AUTOLOAD
:=$(call AutoLoad
,13,nsh
)
139 define KernelPackage
/nsh
/description
140 Network Service Header is an implementation of Service Function
141 Chaining
(RFC
7665). Requires kernel
4.14 or newer
144 $(eval
$(call KernelPackage
,nsh
))
147 define KernelPackage
/capi
148 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
149 TITLE
:=CAPI
(ISDN
) Support
152 CONFIG_ISDN_CAPI_CAPI20 \
154 CONFIG_ISDN_CAPI_CAPIFS
156 $(LINUX_DIR
)/drivers
/isdn
/capi
/kernelcapi.ko \
157 $(LINUX_DIR
)/drivers
/isdn
/capi
/capi.ko
158 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capi
)
161 define KernelPackage
/capi
/description
162 Kernel module for basic CAPI
(ISDN
) support
165 $(eval
$(call KernelPackage
,capi
))
167 define KernelPackage
/misdn
168 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
169 TITLE
:=mISDN
(ISDN
) Support
176 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.ko \
177 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.ko \
178 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.ko
179 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
182 define KernelPackage
/misdn
/description
183 Modular ISDN driver support
186 $(eval
$(call KernelPackage
,misdn
))
189 define KernelPackage
/isdn4linux
190 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
191 TITLE
:=Old ISDN4Linux
(deprecated
)
197 CONFIG_ISDN_PPP_VJ
=y \
199 CONFIG_IPPP_FILTER
=y \
200 CONFIG_ISDN_PPP_BSDCOMP \
201 CONFIG_ISDN_CAPI_MIDDLEWARE
=y \
202 CONFIG_ISDN_CAPI_CAPIFS_BOOL
=y \
203 CONFIG_ISDN_AUDIO
=y \
204 CONFIG_ISDN_TTY_FAX
=y \
206 CONFIG_ISDN_DIVERSION
208 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.ko \
209 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.ko \
210 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.ko
211 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
214 define KernelPackage
/isdn4linux
/description
215 This driver allows you to use an ISDN adapter for networking
218 $(eval
$(call KernelPackage
,isdn4linux
))
221 define KernelPackage
/ipip
222 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
223 TITLE
:=IP-in-IP encapsulation
224 DEPENDS
:=+kmod-iptunnel
+kmod-iptunnel4
225 KCONFIG
:=CONFIG_NET_IPIP
226 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.ko
227 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
230 define KernelPackage
/ipip
/description
231 Kernel modules for IP-in-IP encapsulation
234 $(eval
$(call KernelPackage
,ipip
))
243 define KernelPackage
/ipsec
244 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
245 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
247 +kmod-crypto-authenc
+kmod-crypto-cbc
+kmod-crypto-deflate \
248 +kmod-crypto-des
+kmod-crypto-echainiv
+kmod-crypto-hmac \
249 +kmod-crypto-md5
+kmod-crypto-sha1
255 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
256 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
259 define KernelPackage
/ipsec
/description
260 Kernel modules for IPsec support in both IPv4 and IPv6.
268 $(eval
$(call KernelPackage
,ipsec
))
276 IPSEC4-m
+= $(ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),le
,5.2))),ipv4
/xfrm4_mode_beet ipv4
/xfrm4_mode_transport ipv4
/xfrm4_mode_tunnel
)
278 define KernelPackage
/ipsec4
279 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
280 TITLE
:=IPsec related modules
(IPv4
)
281 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
286 CONFIG_INET_XFRM_MODE_BEET \
287 CONFIG_INET_XFRM_MODE_TRANSPORT \
288 CONFIG_INET_XFRM_MODE_TUNNEL \
289 CONFIG_INET_XFRM_TUNNEL \
290 CONFIG_INET_ESP_OFFLOAD
=n
291 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
292 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
295 define KernelPackage
/ipsec4
/description
296 Kernel modules for IPsec support in IPv4.
302 - xfrm4_mode_transport
307 $(eval
$(call KernelPackage
,ipsec4
))
316 IPSEC6-m
+= $(ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),le
,5.2))),ipv6
/xfrm6_mode_beet ipv6
/xfrm6_mode_transport ipv6
/xfrm6_mode_tunnel
)
318 define KernelPackage
/ipsec6
319 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
320 TITLE
:=IPsec related modules
(IPv6
)
321 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
325 CONFIG_INET6_IPCOMP \
326 CONFIG_INET6_XFRM_MODE_BEET \
327 CONFIG_INET6_XFRM_MODE_TRANSPORT \
328 CONFIG_INET6_XFRM_MODE_TUNNEL \
329 CONFIG_INET6_XFRM_TUNNEL \
330 CONFIG_INET6_ESP_OFFLOAD
=n
331 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
332 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
335 define KernelPackage
/ipsec6
/description
336 Kernel modules for IPsec support in IPv6.
342 - xfrm6_mode_transport
347 $(eval
$(call KernelPackage
,ipsec6
))
350 define KernelPackage
/iptunnel
351 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
352 TITLE
:=IP tunnel support
356 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_tunnel.ko
357 AUTOLOAD
:=$(call AutoLoad
,31,ip_tunnel
)
360 define KernelPackage
/iptunnel
/description
361 Kernel module for generic IP tunnel support
364 $(eval
$(call KernelPackage
,iptunnel
))
367 define KernelPackage
/ip-vti
368 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
369 TITLE
:=IP VTI
(Virtual Tunnel Interface
)
370 DEPENDS
:=+kmod-iptunnel
+kmod-iptunnel4
+kmod-ipsec4
371 KCONFIG
:=CONFIG_NET_IPVTI
372 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_vti.ko
373 AUTOLOAD
:=$(call AutoLoad
,33,ip_vti
)
376 define KernelPackage
/ip-vti
/description
377 Kernel modules for IP VTI
(Virtual Tunnel Interface
)
380 $(eval
$(call KernelPackage
,ip-vti
))
383 define KernelPackage
/ip6-vti
384 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
385 TITLE
:=IPv6 VTI
(Virtual Tunnel Interface
)
386 DEPENDS
:=+kmod-iptunnel
+kmod-ip6-tunnel
+kmod-ipsec6
387 KCONFIG
:=CONFIG_IPV6_VTI
388 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_vti.ko
389 AUTOLOAD
:=$(call AutoLoad
,33,ip6_vti
)
392 define KernelPackage
/ip6-vti
/description
393 Kernel modules for IPv6 VTI
(Virtual Tunnel Interface
)
396 $(eval
$(call KernelPackage
,ip6-vti
))
399 define KernelPackage
/xfrm-interface
400 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
401 TITLE
:=IPsec XFRM Interface
402 DEPENDS
:=+kmod-ipsec4
+kmod-ipsec6 @
!LINUX_4_14
403 KCONFIG
:=CONFIG_XFRM_INTERFACE
404 FILES
:=$(LINUX_DIR
)/net
/xfrm
/xfrm_interface.ko
405 AUTOLOAD
:=$(call AutoProbe
,xfrm_interface
)
408 define KernelPackage
/xfrm-interface
/description
409 Kernel module for XFRM interface support
412 $(eval
$(call KernelPackage
,xfrm-interface
))
415 define KernelPackage
/iptunnel4
416 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
417 TITLE
:=IPv4 tunneling
422 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.ko
423 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
426 define KernelPackage
/iptunnel4
/description
427 Kernel modules for IPv4 tunneling
430 $(eval
$(call KernelPackage
,iptunnel4
))
433 define KernelPackage
/iptunnel6
434 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
435 TITLE
:=IPv6 tunneling
439 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.ko
440 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
443 define KernelPackage
/iptunnel6
/description
444 Kernel modules for IPv6 tunneling
447 $(eval
$(call KernelPackage
,iptunnel6
))
450 define KernelPackage
/sit
451 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
452 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-iptunnel4
453 TITLE
:=IPv6-in-IPv4 tunnel
454 KCONFIG
:=CONFIG_IPV6_SIT \
455 CONFIG_IPV6_SIT_6RD
=y
456 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.ko
457 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
460 define KernelPackage
/sit
/description
461 Kernel modules for IPv6-in-IPv4 tunnelling
464 $(eval
$(call KernelPackage
,sit
))
467 define KernelPackage
/fou
468 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
469 TITLE
:=FOU and GUE decapsulation
473 +IPV6
:kmod-udptunnel6
476 CONFIG_NET_FOU_IP_TUNNELS
=y
477 FILES
:=$(LINUX_DIR
)/net
/ipv4
/fou.ko
478 AUTOLOAD
:=$(call AutoProbe
,fou
)
481 define KernelPackage
/fou
/description
482 Kernel module for FOU
(Foo over UDP
) and GUE
(Generic UDP Encapsulation
) tunnelling.
483 Requires Kernel
3.18 or newer.
486 $(eval
$(call KernelPackage
,fou
))
489 define KernelPackage
/fou6
490 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
491 TITLE
:=FOU and GUE decapsulation over IPv6
497 CONFIG_IPV6_FOU_TUNNEL
498 FILES
:=$(LINUX_DIR
)/net
/ipv6
/fou6.ko
499 AUTOLOAD
:=$(call AutoProbe
,fou6
)
502 define KernelPackage
/fou6
/description
503 Kernel module for FOU
(Foo over UDP
) and GUE
(Generic UDP Encapsulation
) tunnelling over IPv6.
504 Requires Kernel
3.18 or newer.
507 $(eval
$(call KernelPackage
,fou6
))
510 define KernelPackage
/ip6-tunnel
511 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
512 TITLE
:=IP-in-IPv6 tunnelling
513 DEPENDS
:=@IPV6
+kmod-iptunnel6
514 KCONFIG
:= CONFIG_IPV6_TUNNEL
515 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_tunnel.ko
516 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
519 define KernelPackage
/ip6-tunnel
/description
520 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
523 $(eval
$(call KernelPackage
,ip6-tunnel
))
526 define KernelPackage
/gre
527 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
529 DEPENDS
:=+kmod-iptunnel
530 KCONFIG
:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
531 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_gre.ko
$(LINUX_DIR
)/net
/ipv4
/gre.ko
532 AUTOLOAD
:=$(call AutoLoad
,39,gre ip_gre
)
535 define KernelPackage
/gre
/description
536 Generic Routing Encapsulation support
539 $(eval
$(call KernelPackage
,gre
))
542 define KernelPackage
/gre6
543 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
544 TITLE
:=GRE support over IPV6
545 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-ip6-tunnel
+kmod-gre
546 KCONFIG
:=CONFIG_IPV6_GRE
547 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_gre.ko
548 AUTOLOAD
:=$(call AutoLoad
,39,ip6_gre
)
551 define KernelPackage
/gre6
/description
552 Generic Routing Encapsulation support over IPv6
555 $(eval
$(call KernelPackage
,gre6
))
558 define KernelPackage
/tun
559 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
560 TITLE
:=Universal TUN
/TAP driver
562 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.ko
563 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
566 define KernelPackage
/tun
/description
567 Kernel support for the TUN
/TAP tunneling device
570 $(eval
$(call KernelPackage
,tun
))
573 define KernelPackage
/veth
574 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
575 TITLE
:=Virtual ethernet pair device
577 FILES
:=$(LINUX_DIR
)/drivers
/net
/veth.ko
578 AUTOLOAD
:=$(call AutoLoad
,30,veth
)
581 define KernelPackage
/veth
/description
582 This device is a local ethernet tunnel. Devices are created in pairs.
583 When one end receives the packet it appears on its pair and vice
587 $(eval
$(call KernelPackage
,veth
))
590 define KernelPackage
/slhc
591 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
593 TITLE
:=Serial Line Header Compression
594 DEPENDS
:=+kmod-lib-crc-ccitt
596 FILES
:=$(LINUX_DIR
)/drivers
/net
/slip
/slhc.ko
599 $(eval
$(call KernelPackage
,slhc
))
602 define KernelPackage
/ppp
603 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
605 DEPENDS
:=+kmod-lib-crc-ccitt
+kmod-slhc
610 $(LINUX_DIR
)/drivers
/net
/ppp
/ppp_async.ko \
611 $(LINUX_DIR
)/drivers
/net
/ppp
/ppp_generic.ko
612 AUTOLOAD
:=$(call AutoProbe
,ppp_async
)
615 define KernelPackage
/ppp
/description
616 Kernel modules for PPP support
619 $(eval
$(call KernelPackage
,ppp
))
622 define KernelPackage
/ppp-synctty
623 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
624 TITLE
:=PPP sync tty support
626 KCONFIG
:=CONFIG_PPP_SYNC_TTY
627 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/ppp_synctty.ko
628 AUTOLOAD
:=$(call AutoProbe
,ppp_synctty
)
631 define KernelPackage
/ppp-synctty
/description
632 Kernel modules for PPP sync tty support
635 $(eval
$(call KernelPackage
,ppp-synctty
))
638 define KernelPackage
/pppox
639 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
642 KCONFIG
:=CONFIG_PPPOE
643 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/pppox.ko
646 define KernelPackage
/pppox
/description
647 Kernel helper module for PPPoE and PPTP support
650 $(eval
$(call KernelPackage
,pppox
))
653 define KernelPackage
/pppoe
654 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
656 DEPENDS
:=kmod-ppp
+kmod-pppox
657 KCONFIG
:=CONFIG_PPPOE
658 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/pppoe.ko
659 AUTOLOAD
:=$(call AutoProbe
,pppoe
)
662 define KernelPackage
/pppoe
/description
663 Kernel module for PPPoE
(PPP over Ethernet
) support
666 $(eval
$(call KernelPackage
,pppoe
))
669 define KernelPackage
/pppoa
670 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
672 DEPENDS
:=kmod-ppp
+kmod-atm
673 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
674 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.ko
675 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
678 define KernelPackage
/pppoa
/description
679 Kernel modules for PPPoA
(PPP over ATM
) support
682 $(eval
$(call KernelPackage
,pppoa
))
685 define KernelPackage
/pptp
686 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
688 DEPENDS
:=kmod-ppp
+kmod-gre
+kmod-pppox
690 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/pptp.ko
691 AUTOLOAD
:=$(call AutoProbe
,pptp
)
694 $(eval
$(call KernelPackage
,pptp
))
697 define KernelPackage
/pppol2tp
698 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
699 TITLE
:=PPPoL2TP support
700 DEPENDS
:=kmod-ppp
+kmod-pppox
+kmod-l2tp
701 KCONFIG
:=CONFIG_PPPOL2TP
702 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_ppp.ko
703 AUTOLOAD
:=$(call AutoProbe
,l2tp_ppp
)
706 define KernelPackage
/pppol2tp
/description
707 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
710 $(eval
$(call KernelPackage
,pppol2tp
))
713 define KernelPackage
/ipoa
714 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
717 KCONFIG
:=CONFIG_ATM_CLIP
718 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.ko
719 AUTOLOAD
:=$(call AutoProbe
,clip
)
722 define KernelPackage
/ipoa
/description
723 Kernel modules for IPoA
(IP over ATM
) support
726 $(eval
$(call KernelPackage
,ipoa
))
729 define KernelPackage
/mppe
730 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
731 TITLE
:=Microsoft PPP compression
/encryption
732 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
+kmod-crypto-ecb
734 CONFIG_PPP_MPPE_MPPC \
736 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp
/ppp_mppe.ko
737 AUTOLOAD
:=$(call AutoProbe
,ppp_mppe
)
740 define KernelPackage
/mppe
/description
741 Kernel modules for Microsoft PPP compression
/encryption
744 $(eval
$(call KernelPackage
,mppe
))
747 SCHED_MODULES
= $(patsubst $(LINUX_DIR
)/net
/sched
/%.ko
,%,$(wildcard $(LINUX_DIR
)/net
/sched
/*.ko
))
748 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
749 SCHED_MODULES_FILTER
= $(SCHED_MODULES_CORE
) act_connmark act_ctinfo sch_netem sch_mqprio em_ipset cls_bpf cls_flower act_bpf act_vlan
750 SCHED_MODULES_EXTRA
= $(filter-out $(SCHED_MODULES_FILTER
),$(SCHED_MODULES
))
751 SCHED_FILES
= $(patsubst %,$(LINUX_DIR
)/net
/sched
/%.ko
,$(filter $(SCHED_MODULES_CORE
),$(SCHED_MODULES
)))
752 SCHED_FILES_EXTRA
= $(patsubst %,$(LINUX_DIR
)/net
/sched
/%.ko
,$(SCHED_MODULES_EXTRA
))
754 define KernelPackage
/sched-core
755 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
756 TITLE
:=Traffic schedulers
759 CONFIG_NET_SCH_HFSC \
762 CONFIG_NET_SCH_INGRESS \
763 CONFIG_NET_SCH_FQ_CODEL \
765 CONFIG_NET_CLS_ACT
=y \
766 CONFIG_NET_CLS_BASIC \
767 CONFIG_NET_CLS_FLOW \
769 CONFIG_NET_CLS_ROUTE4 \
770 CONFIG_NET_CLS_TCINDEX \
772 CONFIG_NET_ACT_MIRRED \
773 CONFIG_NET_ACT_SKBEDIT \
774 CONFIG_NET_CLS_MATCHALL \
775 CONFIG_NET_EMATCH
=y \
776 CONFIG_NET_EMATCH_U32
777 FILES
:=$(SCHED_FILES
)
778 AUTOLOAD
:=$(call AutoLoad
,70, $(SCHED_MODULES_CORE
))
781 define KernelPackage
/sched-core
/description
782 Core kernel scheduler support for IP traffic
785 $(eval
$(call KernelPackage
,sched-core
))
788 define KernelPackage
/sched-flower
789 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
790 TITLE
:=Flower traffic classifier
791 DEPENDS
:=+kmod-sched-core
792 KCONFIG
:=CONFIG_NET_CLS_FLOWER
793 FILES
:=$(LINUX_DIR
)/net
/sched
/cls_flower.ko
794 AUTOLOAD
:=$(call AutoProbe
, cls_flower
)
797 define KernelPackage
/sched-flower
/description
798 Allows to classify packets based on a configurable combination of packet keys and masks.
801 $(eval
$(call KernelPackage
,sched-flower
))
804 define KernelPackage
/sched-act-vlan
805 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
806 TITLE
:=Traffic VLAN manipulation
807 DEPENDS
:=+kmod-sched-core
808 KCONFIG
:=CONFIG_NET_ACT_VLAN
809 FILES
:=$(LINUX_DIR
)/net
/sched
/act_vlan.ko
810 AUTOLOAD
:=$(call AutoProbe
, act_vlan
)
813 define KernelPackage
/sched-act-vlan
/description
814 Allows to configure rules to push or pop vlan headers.
817 $(eval
$(call KernelPackage
,sched-act-vlan
))
820 define KernelPackage
/sched-mqprio
821 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
822 TITLE
:=Multi-queue priority scheduler
(MQPRIO
)
823 DEPENDS
:=+kmod-sched-core
824 KCONFIG
:=CONFIG_NET_SCH_MQPRIO
825 FILES
:=$(LINUX_DIR
)/net
/sched
/sch_mqprio.ko
826 AUTOLOAD
:=$(call AutoProbe
, sch_mqprio
)
829 define KernelPackage
/sched-mqprio
/description
830 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
833 $(eval
$(call KernelPackage
,sched-mqprio
))
835 define KernelPackage
/sched-connmark
836 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
837 TITLE
:=Traffic shaper conntrack mark support
838 DEPENDS
:=+kmod-sched-core
+kmod-ipt-core
+kmod-ipt-conntrack-extra
839 KCONFIG
:=CONFIG_NET_ACT_CONNMARK
840 FILES
:=$(LINUX_DIR
)/net
/sched
/act_connmark.ko
841 AUTOLOAD
:=$(call AutoLoad
,71, act_connmark
)
843 $(eval
$(call KernelPackage
,sched-connmark
))
845 define KernelPackage
/sched-ctinfo
846 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
847 TITLE
:=Traffic shaper ctinfo support
848 DEPENDS
:=+kmod-sched-core
+kmod-ipt-core
+kmod-ipt-conntrack-extra
849 KCONFIG
:=CONFIG_NET_ACT_CTINFO
850 FILES
:=$(LINUX_DIR
)/net
/sched
/act_ctinfo.ko
851 AUTOLOAD
:=$(call AutoLoad
,71, act_ctinfo
)
853 $(eval
$(call KernelPackage
,sched-ctinfo
))
855 define KernelPackage
/sched-ipset
856 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
857 TITLE
:=Traffic shaper ipset support
858 DEPENDS
:=+kmod-sched-core
+kmod-ipt-ipset
860 CONFIG_NET_EMATCH_IPSET
862 $(LINUX_DIR
)/net
/sched
/em_ipset.ko
863 AUTOLOAD
:=$(call AutoLoad
,72,em_ipset
)
866 $(eval
$(call KernelPackage
,sched-ipset
))
869 define KernelPackage
/sched-bpf
870 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
871 TITLE
:=Traffic shaper support for Berkeley Packet Filter
876 $(LINUX_DIR
)/net
/sched
/cls_bpf.ko \
877 $(LINUX_DIR
)/net
/sched
/act_bpf.ko
878 AUTOLOAD
:=$(call AutoLoad
,72,cls_bpf act_bpf
)
881 $(eval
$(call KernelPackage
,sched-bpf
))
884 define KernelPackage
/bpf-test
885 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
886 TITLE
:=Test Berkeley Packet Filter functionality
887 KCONFIG
:=CONFIG_TEST_BPF
888 FILES
:=$(LINUX_DIR
)/lib
/test_bpf.ko
891 $(eval
$(call KernelPackage
,bpf-test
))
894 define KernelPackage
/sched
895 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
896 TITLE
:=Extra traffic schedulers
897 DEPENDS
:=+kmod-sched-core
+kmod-ipt-core
+kmod-lib-crc32c
899 CONFIG_NET_SCH_CODEL \
900 CONFIG_NET_SCH_DSMARK \
901 CONFIG_NET_SCH_FIFO \
902 CONFIG_NET_SCH_GRED \
903 CONFIG_NET_SCH_MULTIQ \
904 CONFIG_NET_SCH_PRIO \
907 CONFIG_NET_SCH_TEQL \
910 CONFIG_NET_ACT_POLICE \
911 CONFIG_NET_ACT_GACT \
913 CONFIG_NET_ACT_PEDIT \
914 CONFIG_NET_ACT_SIMP \
915 CONFIG_NET_ACT_CSUM \
916 CONFIG_NET_EMATCH_CMP \
917 CONFIG_NET_EMATCH_NBYTE \
918 CONFIG_NET_EMATCH_META \
919 CONFIG_NET_EMATCH_TEXT
920 FILES
:=$(SCHED_FILES_EXTRA
)
921 AUTOLOAD
:=$(call AutoLoad
,73, $(SCHED_MODULES_EXTRA
))
924 define KernelPackage
/sched
/description
925 Extra kernel schedulers modules for IP traffic
928 $(eval
$(call KernelPackage
,sched
))
931 define KernelPackage
/tcp-bbr
932 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
933 TITLE
:=BBR TCP congestion control
935 CONFIG_TCP_CONG_ADVANCED
=y \
937 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tcp_bbr.ko
938 AUTOLOAD
:=$(call AutoLoad
,74,tcp_bbr
)
941 define KernelPackage
/tcp-bbr
/description
942 Kernel module for BBR
(Bottleneck Bandwidth and RTT
) TCP congestion
943 control. It requires the fq
("Fair Queue") pacing packet scheduler.
944 For kernel
4.13+, TCP internal pacing is implemented
as fallback.
947 TCP_BBR_SYSCTL_CONF
:=sysctl-tcp-bbr.conf
949 define KernelPackage
/tcp-bbr
/install
950 $(INSTALL_DIR
) $(1)/etc
/sysctl.d
951 $(INSTALL_DATA
) .
/files
/$(TCP_BBR_SYSCTL_CONF
) $(1)/etc
/sysctl.d
/12-tcp-bbr.conf
954 $(eval
$(call KernelPackage
,tcp-bbr
))
957 define KernelPackage
/ax25
958 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
960 DEPENDS
:=+kmod-lib-crc16
966 $(LINUX_DIR
)/net
/ax25
/ax25.ko \
967 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.ko
968 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
971 define KernelPackage
/ax25
/description
972 Kernel modules for AX25 support
975 $(eval
$(call KernelPackage
,ax25
))
978 define KernelPackage
/pktgen
979 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
980 DEPENDS
:=@
!TARGET_uml
981 TITLE
:=Network packet generator
982 KCONFIG
:=CONFIG_NET_PKTGEN
983 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.ko
984 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
987 define KernelPackage
/pktgen
/description
988 Kernel modules for the Network Packet Generator
991 $(eval
$(call KernelPackage
,pktgen
))
993 define KernelPackage
/l2tp
994 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
995 TITLE
:=Layer Two Tunneling Protocol
(L2TP
)
998 +IPV6
:kmod-udptunnel6
999 KCONFIG
:=CONFIG_L2TP \
1001 CONFIG_L2TP_DEBUGFS
=n
1002 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_core.ko \
1003 $(LINUX_DIR
)/net
/l2tp
/l2tp_netlink.ko
1004 AUTOLOAD
:=$(call AutoLoad
,32,l2tp_core l2tp_netlink
)
1007 define KernelPackage
/l2tp
/description
1008 Kernel modules for L2TP V3 Support
1011 $(eval
$(call KernelPackage
,l2tp
))
1014 define KernelPackage
/l2tp-eth
1015 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1016 TITLE
:=L2TP ethernet pseudowire support for L2TPv3
1018 KCONFIG
:=CONFIG_L2TP_ETH
1019 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_eth.ko
1020 AUTOLOAD
:=$(call AutoLoad
,33,l2tp_eth
)
1023 define KernelPackage
/l2tp-eth
/description
1024 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1027 $(eval
$(call KernelPackage
,l2tp-eth
))
1029 define KernelPackage
/l2tp-ip
1030 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1031 TITLE
:=L2TP IP encapsulation for L2TPv3
1033 KCONFIG
:=CONFIG_L2TP_IP
1035 $(LINUX_DIR
)/net
/l2tp
/l2tp_ip.ko \
1036 $(if
$(CONFIG_IPV6
),$(LINUX_DIR
)/net
/l2tp
/l2tp_ip6.ko
)
1037 AUTOLOAD
:=$(call AutoLoad
,33,l2tp_ip
$(if
$(CONFIG_IPV6
),l2tp_ip6
))
1040 define KernelPackage
/l2tp-ip
/description
1041 Kernel modules for L2TP IP encapsulation for L2TPv3
1044 $(eval
$(call KernelPackage
,l2tp-ip
))
1047 define KernelPackage
/sctp
1048 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1049 TITLE
:=SCTP protocol kernel support
1052 CONFIG_SCTP_DBG_MSG
=n \
1053 CONFIG_SCTP_DBG_OBJCNT
=n \
1054 CONFIG_SCTP_HMAC_NONE
=n \
1055 CONFIG_SCTP_HMAC_SHA1
=n \
1056 CONFIG_SCTP_HMAC_MD5
=y \
1057 CONFIG_SCTP_COOKIE_HMAC_SHA1
=n \
1058 CONFIG_SCTP_COOKIE_HMAC_MD5
=y \
1059 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE
=n \
1060 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1
=n \
1061 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5
=y
1062 FILES
:= $(LINUX_DIR
)/net
/sctp
/sctp.ko
1063 AUTOLOAD
:= $(call AutoLoad
,32,sctp
)
1064 DEPENDS
:=+kmod-lib-crc32c
+kmod-crypto-md5
+kmod-crypto-hmac
1067 define KernelPackage
/sctp
/description
1068 Kernel modules for SCTP protocol support
1071 $(eval
$(call KernelPackage
,sctp
))
1074 define KernelPackage
/netem
1075 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1076 TITLE
:=Network emulation functionality
1077 DEPENDS
:=+kmod-sched
1078 KCONFIG
:=CONFIG_NET_SCH_NETEM
1079 FILES
:=$(LINUX_DIR
)/net
/sched
/sch_netem.ko
1080 AUTOLOAD
:=$(call AutoLoad
,99,netem
)
1083 define KernelPackage
/netem
/description
1084 Kernel modules for emulating the properties of wide area networks
1087 $(eval
$(call KernelPackage
,netem
))
1089 define KernelPackage
/slip
1090 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1095 CONFIG_SLIP_COMPRESSED
=y \
1096 CONFIG_SLIP_SMART
=y \
1097 CONFIG_SLIP_MODE_SLIP6
=y
1100 $(LINUX_DIR
)/drivers
/net
/slip
/slip.ko
1101 AUTOLOAD
:=$(call AutoLoad
,30,slip
)
1104 define KernelPackage
/slip
/description
1105 Kernel modules for SLIP support
1108 $(eval
$(call KernelPackage
,slip
))
1110 define KernelPackage
/dnsresolver
1111 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1112 TITLE
:=In-kernel DNS Resolver
1113 KCONFIG
:= CONFIG_DNS_RESOLVER
1114 FILES
:=$(LINUX_DIR
)/net
/dns_resolver
/dns_resolver.ko
1115 AUTOLOAD
:=$(call AutoLoad
,30,dns_resolver
)
1118 $(eval
$(call KernelPackage
,dnsresolver
))
1120 define KernelPackage
/rxrpc
1121 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1122 TITLE
:=AF_RXRPC support
1127 CONFIG_AF_RXRPC_DEBUG
=n
1129 $(LINUX_DIR
)/net
/rxrpc
/rxrpc.ko
1130 AUTOLOAD
:=$(call AutoLoad
,30,rxrpc.ko
)
1131 DEPENDS
:= +kmod-crypto-manager
+kmod-crypto-pcbc
+kmod-crypto-fcrypt
1134 define KernelPackage
/rxrpc
/description
1135 Kernel support for AF_RXRPC
; required for AFS client
1138 $(eval
$(call KernelPackage
,rxrpc
))
1140 define KernelPackage
/mpls
1141 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1143 DEPENDS
:=+!LINUX_4_14
:kmod-iptunnel
1147 CONFIG_LWTUNNEL_BPF
=n \
1148 CONFIG_NET_MPLS_GSO
=m \
1149 CONFIG_MPLS_ROUTING
=m \
1150 CONFIG_MPLS_IPTUNNEL
=m
1152 $(LINUX_DIR
)/net
/mpls
/mpls_gso.ko \
1153 $(LINUX_DIR
)/net
/mpls
/mpls_iptunnel.ko \
1154 $(LINUX_DIR
)/net
/mpls
/mpls_router.ko
1155 AUTOLOAD
:=$(call AutoLoad
,30,mpls_router mpls_iptunnel mpls_gso
)
1158 define KernelPackage
/mpls
/description
1159 Kernel support for MPLS
1162 $(eval
$(call KernelPackage
,mpls
))
1164 define KernelPackage
/9pnet
1165 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1166 TITLE
:=Plan
9 Resource Sharing Support
(9P2000
)
1167 DEPENDS
:=@VIRTIO_SUPPORT
1170 CONFIG_NET_9P_DEBUG
=n \
1171 CONFIG_NET_9P_XEN
=n \
1172 CONFIG_NET_9P_VIRTIO
1174 $(LINUX_DIR
)/net
/9p
/9pnet.ko \
1175 $(LINUX_DIR
)/net
/9p
/9pnet_virtio.ko
1176 AUTOLOAD
:=$(call AutoLoad
,29,9pnet
9pnet_virtio
)
1179 define KernelPackage
/9pnet
/description
1180 Kernel support support for
1181 Plan
9 resource sharing via the
9P2000 protocol.
1184 $(eval
$(call KernelPackage
,9pnet
))
1187 define KernelPackage
/nlmon
1188 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1189 TITLE
:=Virtual netlink monitoring device
1190 KCONFIG
:=CONFIG_NLMON
1191 FILES
:=$(LINUX_DIR
)/drivers
/net
/nlmon.ko
1192 AUTOLOAD
:=$(call AutoProbe
,nlmon
)
1195 define KernelPackage
/nlmon
/description
1196 Kernel module which adds a monitoring device for netlink.
1199 $(eval
$(call KernelPackage
,nlmon
))
1202 define KernelPackage
/mdio
1203 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1204 TITLE
:=MDIO
(clause
45) PHY support
1205 KCONFIG
:=CONFIG_MDIO
1207 FILES
:=$(LINUX_DIR
)/drivers
/net
/mdio.ko
1208 AUTOLOAD
:=$(call AutoLoad
,32,mdio
)
1211 define KernelPackage
/mdio
/description
1212 Kernel modules for MDIO
(clause
45) PHY support
1215 $(eval
$(call KernelPackage
,mdio
))
1217 define KernelPackage
/macsec
1218 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1219 TITLE
:=IEEE
802.1AE MAC-level encryption
(MAC
)
1220 DEPENDS
:=+kmod-crypto-gcm
1221 KCONFIG
:=CONFIG_MACSEC
1222 FILES
:=$(LINUX_DIR
)/drivers
/net
/macsec.ko
1223 AUTOLOAD
:=$(call AutoLoad
,13,macsec
)
1226 define KernelPackage
/macsec
/description
1227 MACsec is an encryption standard for Ethernet.
1230 $(eval
$(call KernelPackage
,macsec
))