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
)
51 MODPARAMS.bonding
:=max_bonds
=0
54 define KernelPackage
/bonding
/description
55 Kernel module for NIC bonding.
58 $(eval
$(call KernelPackage
,bonding
))
61 define KernelPackage
/udptunnel4
62 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
63 TITLE
:=IPv4 UDP tunneling support
64 KCONFIG
:=CONFIG_NET_UDP_TUNNEL
66 FILES
:=$(LINUX_DIR
)/net
/ipv4
/udp_tunnel.ko
67 AUTOLOAD
:=$(call AutoLoad
,32,udp_tunnel
)
71 $(eval
$(call KernelPackage
,udptunnel4
))
73 define KernelPackage
/udptunnel6
74 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
75 TITLE
:=IPv6 UDP tunneling support
77 KCONFIG
:=CONFIG_NET_UDP_TUNNEL
79 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_udp_tunnel.ko
80 AUTOLOAD
:=$(call AutoLoad
,32,ip6_udp_tunnel
)
83 $(eval
$(call KernelPackage
,udptunnel6
))
86 define KernelPackage
/vxlan
87 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
88 TITLE
:=Native VXLAN Kernel support
94 FILES
:=$(LINUX_DIR
)/drivers
/net
/vxlan.ko
95 AUTOLOAD
:=$(call AutoLoad
,13,vxlan
)
98 define KernelPackage
/vxlan
/description
99 Kernel module for supporting VXLAN in the Kernel.
100 Requires Kernel
3.12 or newer.
103 $(eval
$(call KernelPackage
,vxlan
))
106 define KernelPackage
/geneve
107 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
108 TITLE
:=Generic Network Virtualization Encapsulation
(Geneve
) support
112 +IPV6
:kmod-udptunnel6
113 KCONFIG
:=CONFIG_GENEVE
115 $(LINUX_DIR
)/drivers
/net
/geneve.ko
116 AUTOLOAD
:=$(call AutoLoad
,13,geneve
)
119 define KernelPackage
/geneve
/description
120 Kernel module for supporting Geneve in the Kernel.
121 Requires Kernel
3.18 or newer.
124 $(eval
$(call KernelPackage
,geneve
))
127 define KernelPackage
/nsh
128 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
129 TITLE
:=Network Service Header
(NSH
) protocol
131 KCONFIG
:=CONFIG_NET_NSH
132 FILES
:=$(LINUX_DIR
)/net
/nsh
/nsh.ko
133 AUTOLOAD
:=$(call AutoLoad
,13,nsh
)
136 define KernelPackage
/nsh
/description
137 Network Service Header is an implementation of Service Function
138 Chaining
(RFC
7665). Requires kernel
4.14 or newer
141 $(eval
$(call KernelPackage
,nsh
))
144 define KernelPackage
/misdn
145 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
146 TITLE
:=mISDN
(ISDN
) Support
153 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.ko \
154 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.ko \
155 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.ko
156 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
159 define KernelPackage
/misdn
/description
160 Modular ISDN driver support
163 $(eval
$(call KernelPackage
,misdn
))
166 define KernelPackage
/ipip
167 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
168 TITLE
:=IP-in-IP encapsulation
169 DEPENDS
:=+kmod-iptunnel
+kmod-iptunnel4
170 KCONFIG
:=CONFIG_NET_IPIP
171 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.ko
172 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
175 define KernelPackage
/ipip
/description
176 Kernel modules for IP-in-IP encapsulation
179 $(eval
$(call KernelPackage
,ipip
))
188 define KernelPackage
/ipsec
189 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
190 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
192 +kmod-crypto-authenc
+kmod-crypto-cbc
+kmod-crypto-deflate \
193 +kmod-crypto-des
+kmod-crypto-echainiv
+kmod-crypto-hmac \
194 +kmod-crypto-md5
+kmod-crypto-sha1
200 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
201 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
204 define KernelPackage
/ipsec
/description
205 Kernel modules for IPsec support in both IPv4 and IPv6.
213 $(eval
$(call KernelPackage
,ipsec
))
221 IPSEC4-m
+= $(ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),le
,5.2))),ipv4
/xfrm4_mode_beet ipv4
/xfrm4_mode_transport ipv4
/xfrm4_mode_tunnel
)
223 define KernelPackage
/ipsec4
224 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
225 TITLE
:=IPsec related modules
(IPv4
)
226 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
231 CONFIG_INET_XFRM_MODE_BEET \
232 CONFIG_INET_XFRM_MODE_TRANSPORT \
233 CONFIG_INET_XFRM_MODE_TUNNEL \
234 CONFIG_INET_XFRM_TUNNEL \
235 CONFIG_INET_ESP_OFFLOAD
=n
236 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
237 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
240 define KernelPackage
/ipsec4
/description
241 Kernel modules for IPsec support in IPv4.
247 - xfrm4_mode_transport
252 $(eval
$(call KernelPackage
,ipsec4
))
261 IPSEC6-m
+= $(ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),le
,5.2))),ipv6
/xfrm6_mode_beet ipv6
/xfrm6_mode_transport ipv6
/xfrm6_mode_tunnel
)
263 define KernelPackage
/ipsec6
264 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
265 TITLE
:=IPsec related modules
(IPv6
)
266 DEPENDS
:=@IPV6 kmod-ipsec
+kmod-iptunnel6
270 CONFIG_INET6_IPCOMP \
271 CONFIG_INET6_XFRM_MODE_BEET \
272 CONFIG_INET6_XFRM_MODE_TRANSPORT \
273 CONFIG_INET6_XFRM_MODE_TUNNEL \
274 CONFIG_INET6_XFRM_TUNNEL \
275 CONFIG_INET6_ESP_OFFLOAD
=n
276 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
277 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
280 define KernelPackage
/ipsec6
/description
281 Kernel modules for IPsec support in IPv6.
287 - xfrm6_mode_transport
292 $(eval
$(call KernelPackage
,ipsec6
))
295 define KernelPackage
/iptunnel
296 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
297 TITLE
:=IP tunnel support
301 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_tunnel.ko
302 AUTOLOAD
:=$(call AutoLoad
,31,ip_tunnel
)
305 define KernelPackage
/iptunnel
/description
306 Kernel module for generic IP tunnel support
309 $(eval
$(call KernelPackage
,iptunnel
))
312 define KernelPackage
/ip-vti
313 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
314 TITLE
:=IP VTI
(Virtual Tunnel Interface
)
315 DEPENDS
:=+kmod-iptunnel
+kmod-iptunnel4
+kmod-ipsec4
316 KCONFIG
:=CONFIG_NET_IPVTI
317 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_vti.ko
318 AUTOLOAD
:=$(call AutoLoad
,33,ip_vti
)
321 define KernelPackage
/ip-vti
/description
322 Kernel modules for IP VTI
(Virtual Tunnel Interface
)
325 $(eval
$(call KernelPackage
,ip-vti
))
328 define KernelPackage
/ip6-vti
329 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
330 TITLE
:=IPv6 VTI
(Virtual Tunnel Interface
)
331 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-ip6-tunnel
+kmod-ipsec6
332 KCONFIG
:=CONFIG_IPV6_VTI
333 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_vti.ko
334 AUTOLOAD
:=$(call AutoLoad
,33,ip6_vti
)
337 define KernelPackage
/ip6-vti
/description
338 Kernel modules for IPv6 VTI
(Virtual Tunnel Interface
)
341 $(eval
$(call KernelPackage
,ip6-vti
))
344 define KernelPackage
/xfrm-interface
345 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
346 TITLE
:=IPsec XFRM Interface
347 DEPENDS
:=@IPV6
+kmod-ipsec4
+kmod-ipsec6
348 KCONFIG
:=CONFIG_XFRM_INTERFACE
349 FILES
:=$(LINUX_DIR
)/net
/xfrm
/xfrm_interface.ko
350 AUTOLOAD
:=$(call AutoProbe
,xfrm_interface
)
353 define KernelPackage
/xfrm-interface
/description
354 Kernel module for XFRM interface support
357 $(eval
$(call KernelPackage
,xfrm-interface
))
360 define KernelPackage
/iptunnel4
361 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
362 TITLE
:=IPv4 tunneling
367 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.ko
368 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
371 define KernelPackage
/iptunnel4
/description
372 Kernel modules for IPv4 tunneling
375 $(eval
$(call KernelPackage
,iptunnel4
))
378 define KernelPackage
/iptunnel6
379 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
380 TITLE
:=IPv6 tunneling
384 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.ko
385 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
388 define KernelPackage
/iptunnel6
/description
389 Kernel modules for IPv6 tunneling
392 $(eval
$(call KernelPackage
,iptunnel6
))
395 define KernelPackage
/sit
396 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
397 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-iptunnel4
398 TITLE
:=IPv6-in-IPv4 tunnel
399 KCONFIG
:=CONFIG_IPV6_SIT \
400 CONFIG_IPV6_SIT_6RD
=y
401 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.ko
402 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
405 define KernelPackage
/sit
/description
406 Kernel modules for IPv6-in-IPv4 tunnelling
409 $(eval
$(call KernelPackage
,sit
))
412 define KernelPackage
/fou
413 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
414 TITLE
:=FOU and GUE decapsulation
418 +IPV6
:kmod-udptunnel6
421 CONFIG_NET_FOU_IP_TUNNELS
=y
422 FILES
:=$(LINUX_DIR
)/net
/ipv4
/fou.ko
423 AUTOLOAD
:=$(call AutoProbe
,fou
)
426 define KernelPackage
/fou
/description
427 Kernel module for FOU
(Foo over UDP
) and GUE
(Generic UDP Encapsulation
) tunnelling.
428 Requires Kernel
3.18 or newer.
431 $(eval
$(call KernelPackage
,fou
))
434 define KernelPackage
/fou6
435 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
436 TITLE
:=FOU and GUE decapsulation over IPv6
442 CONFIG_IPV6_FOU_TUNNEL
443 FILES
:=$(LINUX_DIR
)/net
/ipv6
/fou6.ko
444 AUTOLOAD
:=$(call AutoProbe
,fou6
)
447 define KernelPackage
/fou6
/description
448 Kernel module for FOU
(Foo over UDP
) and GUE
(Generic UDP Encapsulation
) tunnelling over IPv6.
449 Requires Kernel
3.18 or newer.
452 $(eval
$(call KernelPackage
,fou6
))
455 define KernelPackage
/ip6-tunnel
456 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
457 TITLE
:=IP-in-IPv6 tunnelling
458 DEPENDS
:=@IPV6
+kmod-iptunnel6
459 KCONFIG
:= CONFIG_IPV6_TUNNEL
460 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_tunnel.ko
461 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
464 define KernelPackage
/ip6-tunnel
/description
465 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
468 $(eval
$(call KernelPackage
,ip6-tunnel
))
471 define KernelPackage
/gre
472 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
474 DEPENDS
:=+kmod-iptunnel
475 KCONFIG
:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
476 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ip_gre.ko
$(LINUX_DIR
)/net
/ipv4
/gre.ko
477 AUTOLOAD
:=$(call AutoLoad
,39,gre ip_gre
)
480 define KernelPackage
/gre
/description
481 Generic Routing Encapsulation support
484 $(eval
$(call KernelPackage
,gre
))
487 define KernelPackage
/gre6
488 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
489 TITLE
:=GRE support over IPV6
490 DEPENDS
:=@IPV6
+kmod-iptunnel
+kmod-ip6-tunnel
+kmod-gre
491 KCONFIG
:=CONFIG_IPV6_GRE
492 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ip6_gre.ko
493 AUTOLOAD
:=$(call AutoLoad
,39,ip6_gre
)
496 define KernelPackage
/gre6
/description
497 Generic Routing Encapsulation support over IPv6
500 $(eval
$(call KernelPackage
,gre6
))
503 define KernelPackage
/tun
504 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
505 TITLE
:=Universal TUN
/TAP driver
507 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.ko
508 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
511 define KernelPackage
/tun
/description
512 Kernel support for the TUN
/TAP tunneling device
515 $(eval
$(call KernelPackage
,tun
))
518 define KernelPackage
/veth
519 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
520 TITLE
:=Virtual ethernet pair device
522 FILES
:=$(LINUX_DIR
)/drivers
/net
/veth.ko
523 AUTOLOAD
:=$(call AutoLoad
,30,veth
)
526 define KernelPackage
/veth
/description
527 This device is a local ethernet tunnel. Devices are created in pairs.
528 When one end receives the packet it appears on its pair and vice
532 $(eval
$(call KernelPackage
,veth
))
535 define KernelPackage
/vrf
536 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
537 TITLE
:=Virtual Routing and Forwarding
(Lite
)
538 DEPENDS
:=@KERNEL_NET_L3_MASTER_DEV
539 KCONFIG
:=CONFIG_NET_VRF
540 FILES
:=$(LINUX_DIR
)/drivers
/net
/vrf.ko
541 AUTOLOAD
:=$(call AutoLoad
,30,vrf
)
544 define KernelPackage
/vrf
/description
545 This option enables the support for mapping interfaces into VRF
's. The
546 support enables VRF devices.
549 $(eval $(call KernelPackage,vrf))
552 define KernelPackage/slhc
553 SUBMENU:=$(NETWORK_SUPPORT_MENU)
555 TITLE:=Serial Line Header Compression
556 DEPENDS:=+kmod-lib-crc-ccitt
558 FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko
561 $(eval $(call KernelPackage,slhc))
564 define KernelPackage/ppp
565 SUBMENU:=$(NETWORK_SUPPORT_MENU)
567 DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc
572 $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
573 $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko
574 AUTOLOAD:=$(call AutoProbe,ppp_async)
577 define KernelPackage/ppp/description
578 Kernel modules for PPP support
581 $(eval $(call KernelPackage,ppp))
584 define KernelPackage/ppp-synctty
585 SUBMENU:=$(NETWORK_SUPPORT_MENU)
586 TITLE:=PPP sync tty support
588 KCONFIG:=CONFIG_PPP_SYNC_TTY
589 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
590 AUTOLOAD:=$(call AutoProbe,ppp_synctty)
593 define KernelPackage/ppp-synctty/description
594 Kernel modules for PPP sync tty support
597 $(eval $(call KernelPackage,ppp-synctty))
600 define KernelPackage/pppox
601 SUBMENU:=$(NETWORK_SUPPORT_MENU)
604 KCONFIG:=CONFIG_PPPOE
605 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
608 define KernelPackage/pppox/description
609 Kernel helper module for PPPoE and PPTP support
612 $(eval $(call KernelPackage,pppox))
615 define KernelPackage/pppoe
616 SUBMENU:=$(NETWORK_SUPPORT_MENU)
618 DEPENDS:=kmod-ppp +kmod-pppox
619 KCONFIG:=CONFIG_PPPOE
620 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
621 AUTOLOAD:=$(call AutoProbe,pppoe)
624 define KernelPackage/pppoe/description
625 Kernel module for PPPoE (PPP over Ethernet) support
628 $(eval $(call KernelPackage,pppoe))
631 define KernelPackage/pppoa
632 SUBMENU:=$(NETWORK_SUPPORT_MENU)
634 DEPENDS:=kmod-ppp +kmod-atm
635 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
636 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
637 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
640 define KernelPackage/pppoa/description
641 Kernel modules for PPPoA (PPP over ATM) support
644 $(eval $(call KernelPackage,pppoa))
647 define KernelPackage/pptp
648 SUBMENU:=$(NETWORK_SUPPORT_MENU)
650 DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
652 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
653 AUTOLOAD:=$(call AutoProbe,pptp)
656 $(eval $(call KernelPackage,pptp))
659 define KernelPackage/pppol2tp
660 SUBMENU:=$(NETWORK_SUPPORT_MENU)
661 TITLE:=PPPoL2TP support
662 DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
663 KCONFIG:=CONFIG_PPPOL2TP
664 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
665 AUTOLOAD:=$(call AutoProbe,l2tp_ppp)
668 define KernelPackage/pppol2tp/description
669 Kernel modules for PPPoL2TP (PPP over L2TP) support
672 $(eval $(call KernelPackage,pppol2tp))
675 define KernelPackage/ipoa
676 SUBMENU:=$(NETWORK_SUPPORT_MENU)
679 KCONFIG:=CONFIG_ATM_CLIP
680 FILES:=$(LINUX_DIR)/net/atm/clip.ko
681 AUTOLOAD:=$(call AutoProbe,clip)
684 define KernelPackage/ipoa/description
685 Kernel modules for IPoA (IP over ATM) support
688 $(eval $(call KernelPackage,ipoa))
691 define KernelPackage/mppe
692 SUBMENU:=$(NETWORK_SUPPORT_MENU)
693 TITLE:=Microsoft PPP compression/encryption
694 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
696 CONFIG_PPP_MPPE_MPPC \
698 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
699 AUTOLOAD:=$(call AutoProbe,ppp_mppe)
702 define KernelPackage/mppe/description
703 Kernel modules for Microsoft PPP compression/encryption
706 $(eval $(call KernelPackage,mppe))
709 SCHED_MODULES_CORE = sch_ingress sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
710 SCHED_FILES_CORE = $(foreach mod,$(SCHED_MODULES_CORE),$(LINUX_DIR)/net/sched/$(mod).ko)
712 define KernelPackage/sched-core
713 SUBMENU:=$(NETWORK_SUPPORT_MENU)
714 TITLE:=Traffic schedulers
717 CONFIG_NET_SCH_HFSC \
720 CONFIG_NET_SCH_INGRESS \
722 CONFIG_NET_CLS_ACT=y \
723 CONFIG_NET_CLS_BASIC \
724 CONFIG_NET_CLS_FLOW \
726 CONFIG_NET_CLS_ROUTE4 \
727 CONFIG_NET_CLS_TCINDEX \
729 CONFIG_NET_ACT_GACT \
730 CONFIG_NET_ACT_MIRRED \
731 CONFIG_NET_ACT_SKBEDIT \
732 CONFIG_NET_CLS_MATCHALL \
733 CONFIG_NET_EMATCH=y \
734 CONFIG_NET_EMATCH_U32
735 FILES:=$(SCHED_FILES_CORE)
736 AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
739 define KernelPackage/sched-core/description
740 Core kernel scheduler support for IP traffic
743 $(eval $(call KernelPackage,sched-core))
746 define KernelPackage/sched-act-police
747 SUBMENU:=$(NETWORK_SUPPORT_MENU)
748 TITLE:=Traffic Policing
749 DEPENDS:=+kmod-sched-core
750 KCONFIG:=CONFIG_NET_ACT_POLICE
751 FILES:=$(LINUX_DIR)/net/sched/act_police.ko
752 AUTOLOAD:=$(call AutoProbe,act_police)
755 $(eval $(call KernelPackage,sched-act-police))
758 define KernelPackage/sched-act-sample
759 SUBMENU:=$(NETWORK_SUPPORT_MENU)
760 TITLE:=Traffic Sampling
761 DEPENDS:=+kmod-sched-core
763 CONFIG_NET_ACT_SAMPLE \
766 $(LINUX_DIR)/net/psample/psample.ko \
767 $(LINUX_DIR)/net/sched/act_sample.ko
768 AUTOLOAD:=$(call AutoProbe,act_sample psample)
771 define KernelPackage/sched-act-sample/description
772 Packet sampling tc action.
775 $(eval $(call KernelPackage,sched-act-sample))
778 define KernelPackage/sched-act-ipt
779 SUBMENU:=$(NETWORK_SUPPORT_MENU)
780 TITLE:=IPtables targets
781 DEPENDS:=+kmod-ipt-core +kmod-sched-core
782 KCONFIG:=CONFIG_NET_ACT_IPT
783 FILES:=$(LINUX_DIR)/net/sched/act_ipt.ko
784 AUTOLOAD:=$(call AutoProbe, act_ipt)
787 define KernelPackage/sched-act-ipt/description
788 Allows to invoke iptables targets after successful classification.
791 $(eval $(call KernelPackage,sched-act-ipt))
794 define KernelPackage/sched-act-vlan
795 SUBMENU:=$(NETWORK_SUPPORT_MENU)
796 TITLE:=Traffic VLAN manipulation
797 DEPENDS:=+kmod-sched-core
798 KCONFIG:=CONFIG_NET_ACT_VLAN
799 FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko
800 AUTOLOAD:=$(call AutoProbe, act_vlan)
803 define KernelPackage/sched-act-vlan/description
804 Allows to configure rules to push or pop vlan headers.
807 $(eval $(call KernelPackage,sched-act-vlan))
810 define KernelPackage/sched-bpf
811 SUBMENU:=$(NETWORK_SUPPORT_MENU)
812 TITLE:=Traffic shaper support for Berkeley Packet Filter
817 $(LINUX_DIR)/net/sched/cls_bpf.ko \
818 $(LINUX_DIR)/net/sched/act_bpf.ko
819 AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf)
822 $(eval $(call KernelPackage,sched-bpf))
825 define KernelPackage/sched-cake
826 SUBMENU:=$(NETWORK_SUPPORT_MENU)
827 TITLE:=Cake fq_codel/blue derived shaper
828 DEPENDS:=+kmod-sched-core
829 KCONFIG:=CONFIG_NET_SCH_CAKE
830 FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko
831 AUTOLOAD:=$(call AutoProbe,sch_cake)
834 define KernelPackage/sched-cake/description
835 Common Applications Kept Enhanced fq_codel/blue derived shaper
838 $(eval $(call KernelPackage,sched-cake))
841 define KernelPackage/sched-connmark
842 SUBMENU:=$(NETWORK_SUPPORT_MENU)
843 TITLE:=Traffic shaper conntrack mark support
844 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
845 KCONFIG:=CONFIG_NET_ACT_CONNMARK
846 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
847 AUTOLOAD:=$(call AutoLoad,71, act_connmark)
849 $(eval $(call KernelPackage,sched-connmark))
852 define KernelPackage/sched-ctinfo
853 SUBMENU:=$(NETWORK_SUPPORT_MENU)
854 TITLE:=Traffic shaper ctinfo support
855 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
856 KCONFIG:=CONFIG_NET_ACT_CTINFO
857 FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko
858 AUTOLOAD:=$(call AutoLoad,71, act_ctinfo)
860 $(eval $(call KernelPackage,sched-ctinfo))
863 define KernelPackage/sched-drr
864 SUBMENU:=$(NETWORK_SUPPORT_MENU)
865 TITLE:=Deficit Round Robin scheduler (DRR)
866 DEPENDS:=+kmod-sched-core
867 KCONFIG:=CONFIG_NET_SCH_DRR
868 FILES:=$(LINUX_DIR)/net/sched/sch_drr.ko
869 AUTOLOAD:=$(call AutoProbe,sch_drr)
872 define KernelPackage/sched-drr/description
873 DRR algorithm Configuration
876 $(eval $(call KernelPackage,sched-drr))
879 define KernelPackage/sched-flower
880 SUBMENU:=$(NETWORK_SUPPORT_MENU)
881 TITLE:=Flower traffic classifier
882 DEPENDS:=+kmod-sched-core
883 KCONFIG:=CONFIG_NET_CLS_FLOWER
884 FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko
885 AUTOLOAD:=$(call AutoProbe, cls_flower)
888 define KernelPackage/sched-flower/description
889 Allows to classify packets based on a configurable combination of packet keys and masks.
892 $(eval $(call KernelPackage,sched-flower))
895 define KernelPackage/sched-fq-pie
896 SUBMENU:=$(NETWORK_SUPPORT_MENU)
897 TITLE:=Flow Queue Proportional Integral Enhanced (FQ-PIE)
898 DEPENDS:=+kmod-sched-core +kmod-sched-pie
899 KCONFIG:=CONFIG_NET_SCH_FQ_PIE
900 FILES:=$(LINUX_DIR)/net/sched/sch_fq_pie.ko
901 AUTOLOAD:=$(call AutoProbe, sch_fq_pie)
904 define KernelPackage/sched-fq-pie/description
905 A queuing discipline that combines Flow Queuing with the PIE AQM.
908 $(eval $(call KernelPackage,sched-fq-pie))
911 define KernelPackage/sched-ipset
912 SUBMENU:=$(NETWORK_SUPPORT_MENU)
913 TITLE:=Traffic shaper ipset support
914 DEPENDS:=+kmod-sched-core +kmod-ipt-ipset
916 CONFIG_NET_EMATCH_IPSET
918 $(LINUX_DIR)/net/sched/em_ipset.ko
919 AUTOLOAD:=$(call AutoLoad,72,em_ipset)
922 $(eval $(call KernelPackage,sched-ipset))
925 define KernelPackage/sched-mqprio
926 SUBMENU:=$(NETWORK_SUPPORT_MENU)
927 TITLE:=Multi-queue priority scheduler (MQPRIO)
928 DEPENDS:=+kmod-sched-core
929 KCONFIG:=CONFIG_NET_SCH_MQPRIO
930 FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko
931 AUTOLOAD:=$(call AutoProbe, sch_mqprio)
934 define KernelPackage/sched-mqprio/description
935 This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers.
938 $(eval $(call KernelPackage,sched-mqprio))
941 define KernelPackage/sched-pie
942 SUBMENU:=$(NETWORK_SUPPORT_MENU)
943 TITLE:=Proportional Integral controller-Enhanced AQM (PIE)
944 DEPENDS:=+kmod-sched-core
945 KCONFIG:=CONFIG_NET_SCH_PIE
946 FILES:=$(LINUX_DIR)/net/sched/sch_pie.ko
947 AUTOLOAD:=$(call AutoProbe, sch_pie)
950 define KernelPackage/sched-pie/description
951 A control theoretic active queue management scheme.
954 $(eval $(call KernelPackage,sched-pie))
957 define KernelPackage/sched-prio
958 SUBMENU:=$(NETWORK_SUPPORT_MENU)
959 TITLE:=Multi Band Priority Queueing (PRIO)
960 DEPENDS:=+kmod-sched-core
961 KCONFIG:=CONFIG_NET_SCH_PRIO
962 FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko
963 AUTOLOAD:=$(call AutoProbe,sch_prio)
966 define KernelPackage/sched-prio/description
967 PRIO algorithm Configuration
970 $(eval $(call KernelPackage,sched-prio))
973 define KernelPackage/sched-red
974 SUBMENU:=$(NETWORK_SUPPORT_MENU)
975 TITLE:=Random Early Detection (RED)
976 DEPENDS:=+kmod-sched-core
977 KCONFIG:=CONFIG_NET_SCH_RED
978 FILES:=$(LINUX_DIR)/net/sched/sch_red.ko
979 AUTOLOAD:=$(call AutoProbe,sch_red)
982 define KernelPackage/sched-red/description
983 Random Early Detection (RED) algorithm Configuration
986 $(eval $(call KernelPackage,sched-red))
989 define KernelPackage/bpf-test
990 SUBMENU:=$(NETWORK_SUPPORT_MENU)
991 TITLE:=Test Berkeley Packet Filter functionality
992 KCONFIG:=CONFIG_TEST_BPF
993 FILES:=$(LINUX_DIR)/lib/test_bpf.ko
996 $(eval $(call KernelPackage,bpf-test))
999 SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_sfq sch_teql sch_fq act_pedit act_simple act_csum em_cmp em_nbyte em_meta em_text
1000 SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
1002 define KernelPackage/sched
1003 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1004 TITLE:=Extra traffic schedulers
1005 DEPENDS:=+kmod-sched-core +kmod-lib-crc32c +kmod-lib-textsearch
1007 CONFIG_NET_SCH_CODEL \
1008 CONFIG_NET_SCH_DSMARK \
1009 CONFIG_NET_SCH_GRED \
1010 CONFIG_NET_SCH_MULTIQ \
1011 CONFIG_NET_SCH_SFQ \
1012 CONFIG_NET_SCH_TEQL \
1014 CONFIG_NET_ACT_PEDIT \
1015 CONFIG_NET_ACT_SIMP \
1016 CONFIG_NET_ACT_CSUM \
1017 CONFIG_NET_EMATCH_CMP \
1018 CONFIG_NET_EMATCH_NBYTE \
1019 CONFIG_NET_EMATCH_META \
1020 CONFIG_NET_EMATCH_TEXT
1021 FILES:=$(SCHED_FILES_EXTRA)
1022 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
1025 define KernelPackage/sched/description
1026 Extra kernel schedulers modules for IP traffic
1029 SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
1031 define KernelPackage/sched/install
1032 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
1033 $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
1036 $(eval $(call KernelPackage,sched))
1039 define KernelPackage/tcp-bbr
1040 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1041 TITLE:=BBR TCP congestion control
1042 KCONFIG:=CONFIG_TCP_CONG_BBR
1043 FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
1044 AUTOLOAD:=$(call AutoProbe,tcp_bbr)
1047 define KernelPackage/tcp-bbr/description
1048 Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion
1049 control. It requires the fq ("Fair Queue") pacing packet scheduler.
1050 For kernel 4.13+, TCP internal pacing is implemented as fallback.
1053 TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf
1055 define KernelPackage/tcp-bbr/install
1056 $(INSTALL_DIR) $(1)/etc/sysctl.d
1057 $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf
1060 $(eval $(call KernelPackage,tcp-bbr))
1063 define KernelPackage/tcp-hybla
1064 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1065 TITLE:=TCP-Hybla congestion control algorithm
1066 KCONFIG:=CONFIG_TCP_CONG_HYBLA
1067 FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
1068 AUTOLOAD:=$(call AutoProbe,tcp_hybla)
1071 define KernelPackage/tcp-hybla/description
1072 TCP-Hybla is a sender-side only change that eliminates penalization of
1073 long-RTT, large-bandwidth connections, like when satellite legs are
1074 involved, especially when sharing a common bottleneck with normal
1075 terrestrial connections.
1078 $(eval $(call KernelPackage,tcp-hybla))
1081 define KernelPackage/tcp-scalable
1082 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1083 TITLE:=TCP-Scalable congestion control algorithm
1084 KCONFIG:=CONFIG_TCP_CONG_SCALABLE
1085 FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko
1086 AUTOLOAD:=$(call AutoProbe,tcp-scalable)
1089 define KernelPackage/tcp-scalable/description
1090 Scalable TCP is a sender-side only change to TCP which uses a
1091 MIMD congestion control algorithm which has some nice scaling
1092 properties, though is known to have fairness issues.
1093 See http://www.deneholme.net/tom/scalable/
1096 $(eval $(call KernelPackage,tcp-scalable))
1099 define KernelPackage/ax25
1100 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1102 DEPENDS:=+kmod-lib-crc16
1108 $(LINUX_DIR)/net/ax25/ax25.ko \
1109 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
1110 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
1113 define KernelPackage/ax25/description
1114 Kernel modules for AX25 support
1117 $(eval $(call KernelPackage,ax25))
1120 define KernelPackage/pktgen
1121 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1122 DEPENDS:=@!TARGET_uml
1123 TITLE:=Network packet generator
1124 KCONFIG:=CONFIG_NET_PKTGEN
1125 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
1126 AUTOLOAD:=$(call AutoLoad,99,pktgen)
1129 define KernelPackage/pktgen/description
1130 Kernel modules for the Network Packet Generator
1133 $(eval $(call KernelPackage,pktgen))
1135 define KernelPackage/l2tp
1136 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1137 TITLE:=Layer Two Tunneling Protocol (L2TP)
1140 +IPV6:kmod-udptunnel6
1141 KCONFIG:=CONFIG_L2TP \
1143 CONFIG_L2TP_DEBUGFS=n
1144 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
1145 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
1146 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
1149 define KernelPackage/l2tp/description
1150 Kernel modules for L2TP V3 Support
1153 $(eval $(call KernelPackage,l2tp))
1156 define KernelPackage/l2tp-eth
1157 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1158 TITLE:=L2TP ethernet pseudowire support for L2TPv3
1160 KCONFIG:=CONFIG_L2TP_ETH
1161 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
1162 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
1165 define KernelPackage/l2tp-eth/description
1166 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
1169 $(eval $(call KernelPackage,l2tp-eth))
1171 define KernelPackage/l2tp-ip
1172 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1173 TITLE:=L2TP IP encapsulation for L2TPv3
1175 KCONFIG:=CONFIG_L2TP_IP
1177 $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \
1178 $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko)
1179 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6))
1182 define KernelPackage/l2tp-ip/description
1183 Kernel modules for L2TP IP encapsulation for L2TPv3
1186 $(eval $(call KernelPackage,l2tp-ip))
1189 define KernelPackage/sctp
1190 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1191 TITLE:=SCTP protocol kernel support
1194 CONFIG_SCTP_DBG_MSG=n \
1195 CONFIG_SCTP_DBG_OBJCNT=n \
1196 CONFIG_SCTP_HMAC_NONE=n \
1197 CONFIG_SCTP_HMAC_SHA1=n \
1198 CONFIG_SCTP_HMAC_MD5=y \
1199 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
1200 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
1201 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
1202 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
1203 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1204 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
1205 AUTOLOAD:= $(call AutoLoad,32,sctp)
1206 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \
1207 +LINUX_5_15:kmod-udptunnel4 +LINUX_5_15:kmod-udptunnel6
1210 define KernelPackage/sctp/description
1211 Kernel modules for SCTP protocol support
1214 $(eval $(call KernelPackage,sctp))
1217 define KernelPackage/netem
1218 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1219 TITLE:=Network emulation functionality
1220 DEPENDS:=+kmod-sched
1221 KCONFIG:=CONFIG_NET_SCH_NETEM
1222 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
1223 AUTOLOAD:=$(call AutoLoad,99,netem)
1226 define KernelPackage/netem/description
1227 Kernel modules for emulating the properties of wide area networks
1230 $(eval $(call KernelPackage,netem))
1232 define KernelPackage/slip
1233 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1238 CONFIG_SLIP_COMPRESSED=y \
1239 CONFIG_SLIP_SMART=y \
1240 CONFIG_SLIP_MODE_SLIP6=y
1243 $(LINUX_DIR)/drivers/net/slip/slip.ko
1244 AUTOLOAD:=$(call AutoLoad,30,slip)
1247 define KernelPackage/slip/description
1248 Kernel modules for SLIP support
1251 $(eval $(call KernelPackage,slip))
1253 define KernelPackage/dnsresolver
1254 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1255 TITLE:=In-kernel DNS Resolver
1256 KCONFIG:= CONFIG_DNS_RESOLVER
1257 FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
1258 AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
1261 $(eval $(call KernelPackage,dnsresolver))
1263 define KernelPackage/rxrpc
1264 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1265 TITLE:=AF_RXRPC support
1270 CONFIG_AF_RXRPC_DEBUG=n
1272 $(LINUX_DIR)/net/rxrpc/rxrpc.ko
1273 AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko)
1274 DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt
1277 define KernelPackage/rxrpc/description
1278 Kernel support for AF_RXRPC; required for AFS client
1281 $(eval $(call KernelPackage,rxrpc))
1283 define KernelPackage/mpls
1284 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1286 DEPENDS:=+kmod-iptunnel
1290 CONFIG_LWTUNNEL_BPF=n \
1291 CONFIG_NET_MPLS_GSO=m \
1292 CONFIG_MPLS_ROUTING=m \
1293 CONFIG_MPLS_IPTUNNEL=m
1295 $(LINUX_DIR)/net/mpls/mpls_gso.ko \
1296 $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \
1297 $(LINUX_DIR)/net/mpls/mpls_router.ko
1298 AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso)
1301 define KernelPackage/mpls/description
1302 Kernel support for MPLS
1305 $(eval $(call KernelPackage,mpls))
1307 define KernelPackage/9pnet
1308 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1309 TITLE:=Plan 9 Resource Sharing Support (9P2000)
1310 DEPENDS:=@VIRTIO_SUPPORT
1313 CONFIG_NET_9P_DEBUG=n \
1314 CONFIG_NET_9P_XEN=n \
1315 CONFIG_NET_9P_VIRTIO
1317 $(LINUX_DIR)/net/9p/9pnet.ko \
1318 $(LINUX_DIR)/net/9p/9pnet_virtio.ko
1319 AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio)
1322 define KernelPackage/9pnet/description
1323 Kernel support support for
1324 Plan 9 resource sharing via the 9P2000 protocol.
1327 $(eval $(call KernelPackage,9pnet))
1330 define KernelPackage/nlmon
1331 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1332 TITLE:=Virtual netlink monitoring device
1333 KCONFIG:=CONFIG_NLMON
1334 FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko
1335 AUTOLOAD:=$(call AutoProbe,nlmon)
1338 define KernelPackage/nlmon/description
1339 Kernel module which adds a monitoring device for netlink.
1342 $(eval $(call KernelPackage,nlmon))
1345 define KernelPackage/mdio
1346 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1347 TITLE:=MDIO (clause 45) PHY support
1348 KCONFIG:=CONFIG_MDIO
1350 FILES:=$(LINUX_DIR)/drivers/net/mdio.ko
1351 AUTOLOAD:=$(call AutoLoad,32,mdio)
1354 define KernelPackage/mdio/description
1355 Kernel modules for MDIO (clause 45) PHY support
1358 $(eval $(call KernelPackage,mdio))
1360 define KernelPackage/macsec
1361 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1362 TITLE:=IEEE 802.1AE MAC-level encryption (MAC)
1363 DEPENDS:=+kmod-crypto-gcm
1364 KCONFIG:=CONFIG_MACSEC
1365 FILES:=$(LINUX_DIR)/drivers/net/macsec.ko
1366 AUTOLOAD:=$(call AutoLoad,13,macsec)
1369 define KernelPackage/macsec/description
1370 MACsec is an encryption standard for Ethernet.
1373 $(eval $(call KernelPackage,macsec))
1376 define KernelPackage/netlink-diag
1377 SUBMENU:=$(NETWORK_SUPPORT_MENU)
1378 TITLE:=Netlink diag support for ss utility
1379 KCONFIG:=CONFIG_NETLINK_DIAG
1380 FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko
1381 AUTOLOAD:=$(call AutoLoad,31,netlink-diag)
1384 define KernelPackage/netlink-diag/description
1385 Netlink diag is a module made for use with iproute2's ss utility
1388 $(eval
$(call KernelPackage
,netlink-diag
))
1391 define KernelPackage
/inet-diag
1392 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1393 TITLE
:=INET diag support for ss utility
1396 CONFIG_INET_TCP_DIAG \
1397 CONFIG_INET_UDP_DIAG \
1398 CONFIG_INET_RAW_DIAG \
1399 CONFIG_INET_DIAG_DESTROY
=n
1401 $(LINUX_DIR
)/net
/ipv4
/inet_diag.ko \
1402 $(LINUX_DIR
)/net
/ipv4
/tcp_diag.ko \
1403 $(LINUX_DIR
)/net
/ipv4
/udp_diag.ko \
1404 $(LINUX_DIR
)/net
/ipv4
/raw_diag.ko
1405 AUTOLOAD
:=$(call AutoLoad
,31,inet_diag tcp_diag udp_diag raw_diag
)
1408 define KernelPackage
/inet-diag
/description
1409 Support for INET
(TCP
, DCCP
, etc
) socket monitoring interface used by
1410 native Linux tools such
as ss.
1413 $(eval
$(call KernelPackage
,inet-diag
))
1416 define KernelPackage
/wireguard
1417 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1418 TITLE
:=WireGuard secure network tunnel
1420 +kmod-crypto-lib-chacha20poly1305 \
1421 +kmod-crypto-lib-curve25519 \
1423 +IPV6
:kmod-udptunnel6
1426 CONFIG_WIREGUARD_DEBUG
=n
1427 FILES
:=$(LINUX_DIR
)/drivers
/net
/wireguard
/wireguard.ko
1428 AUTOLOAD
:=$(call AutoProbe
,wireguard
)
1431 define KernelPackage
/wireguard
/description
1432 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
1433 state-of-the-art cryptography. It aims to be faster
, simpler
, leaner
, and
1434 more useful than IPSec
, while avoiding the massive headache. It intends to
1435 be considerably more performant than OpenVPN. WireGuard is designed
as a
1436 general purpose VPN for running on embedded interfaces and super computers
1437 alike
, fit for many different circumstances. It uses UDP.
1440 $(eval
$(call KernelPackage
,wireguard
))
1443 define KernelPackage
/netconsole
1444 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
1445 TITLE
:=Network console logging support
1446 KCONFIG
:=CONFIG_NETCONSOLE \
1447 CONFIG_NETCONSOLE_DYNAMIC
=n
1448 FILES
:=$(LINUX_DIR
)/drivers
/net
/netconsole.ko
1449 AUTOLOAD
:=$(call AutoProbe
,netconsole
)
1452 define KernelPackage
/netconsole
/description
1453 Network console logging support.
1456 $(eval
$(call KernelPackage
,netconsole
))