KCONFIG:=CONFIG_BONDING
FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
AUTOLOAD:=$(call AutoLoad,40,bonding)
+ MODPARAMS.bonding:=max_bonds=0
endef
define KernelPackage/bonding/description
define KernelPackage/udptunnel4
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPv4 UDP tunneling support
- KCONFIG:= \
- CONFIG_NET_UDP_TUNNEL \
- CONFIG_VXLAN=m
+ KCONFIG:=CONFIG_NET_UDP_TUNNEL
HIDDEN:=1
FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko
AUTOLOAD:=$(call AutoLoad,32,udp_tunnel)
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPv6 UDP tunneling support
DEPENDS:=@IPV6
- KCONFIG:= \
- CONFIG_NET_UDP_TUNNEL \
- CONFIG_VXLAN=m
+ KCONFIG:=CONFIG_NET_UDP_TUNNEL
HIDDEN:=1
FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko
AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel)
$(eval $(call KernelPackage,nsh))
-define KernelPackage/capi
- SUBMENU:=$(NETWORK_SUPPORT_MENU)
- TITLE:=CAPI (ISDN) Support
- KCONFIG:= \
- CONFIG_ISDN_CAPI \
- CONFIG_ISDN_CAPI_CAPI20 \
- CONFIG_ISDN_CAPIFS \
- CONFIG_ISDN_CAPI_CAPIFS
- FILES:= \
- $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
- $(LINUX_DIR)/drivers/isdn/capi/capi.ko
- AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
-endef
-
-define KernelPackage/capi/description
- Kernel module for basic CAPI (ISDN) support
-endef
-
-$(eval $(call KernelPackage,capi))
-
define KernelPackage/misdn
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=mISDN (ISDN) Support
define KernelPackage/xfrm-interface
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPsec XFRM Interface
- DEPENDS:=+kmod-ipsec4 +@IPV6:kmod-ipsec6 @!LINUX_4_14
+ DEPENDS:=@IPV6 +kmod-ipsec4 +kmod-ipsec6
KCONFIG:=CONFIG_XFRM_INTERFACE
FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko
AUTOLOAD:=$(call AutoProbe,xfrm_interface)
$(eval $(call KernelPackage,veth))
+define KernelPackage/vrf
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Virtual Routing and Forwarding (Lite)
+ DEPENDS:=@KERNEL_NET_L3_MASTER_DEV
+ KCONFIG:=CONFIG_NET_VRF
+ FILES:=$(LINUX_DIR)/drivers/net/vrf.ko
+ AUTOLOAD:=$(call AutoLoad,30,vrf)
+endef
+
+define KernelPackage/vrf/description
+ This option enables the support for mapping interfaces into VRF's. The
+ support enables VRF devices.
+endef
+
+$(eval $(call KernelPackage,vrf))
+
+
define KernelPackage/slhc
SUBMENU:=$(NETWORK_SUPPORT_MENU)
HIDDEN:=1
SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
-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
+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_gact act_mirred act_skbedit cls_matchall
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
SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
CONFIG_NET_CLS_ROUTE4 \
CONFIG_NET_CLS_TCINDEX \
CONFIG_NET_CLS_U32 \
+ CONFIG_NET_ACT_GACT \
CONFIG_NET_ACT_MIRRED \
CONFIG_NET_ACT_SKBEDIT \
CONFIG_NET_CLS_MATCHALL \
define KernelPackage/sched-cake
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Cake fq_codel/blue derived shaper
- DEPENDS:=@!LINUX_4_14 +kmod-sched-core
+ DEPENDS:=+kmod-sched-core
KCONFIG:=CONFIG_NET_SCH_CAKE
FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko
AUTOLOAD:=$(call AutoProbe,sch_cake)
endef
$(eval $(call KernelPackage,sched-ctinfo))
-define KernelPackage/sched-police
- SUBMENU:=$(NETWORK_SUPPORT_MENU)
- TITLE:=Traffic shaper police support
- DEPENDS:=+kmod-sched-core
- KCONFIG:=CONFIG_NET_ACT_POLICE
- FILES:=$(LINUX_DIR)/net/sched/act_police.ko
- AUTOLOAD:=$(call AutoLoad,71, act_police)
-endef
-$(eval $(call KernelPackage,sched-police))
-
define KernelPackage/sched-ipset
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Traffic shaper ipset support
CONFIG_NET_SCH_FQ \
CONFIG_NET_SCH_PIE \
CONFIG_NET_ACT_POLICE \
- CONFIG_NET_ACT_GACT \
CONFIG_NET_ACT_IPT \
CONFIG_NET_ACT_PEDIT \
CONFIG_NET_ACT_SIMP \
Extra kernel schedulers modules for IP traffic
endef
+SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
+
+define KernelPackage/sched/install
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
+ $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
+endef
+
$(eval $(call KernelPackage,sched))
define KernelPackage/tcp-bbr
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=BBR TCP congestion control
- KCONFIG:= \
- CONFIG_TCP_CONG_ADVANCED=y \
- CONFIG_TCP_CONG_BBR
+ KCONFIG:=CONFIG_TCP_CONG_BBR
FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko
- AUTOLOAD:=$(call AutoLoad,74,tcp_bbr)
+ AUTOLOAD:=$(call AutoProbe,tcp_bbr)
endef
define KernelPackage/tcp-bbr/description
$(eval $(call KernelPackage,tcp-bbr))
+define KernelPackage/tcp-hybla
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=TCP-Hybla congestion control algorithm
+ KCONFIG:=CONFIG_TCP_CONG_HYBLA
+ FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko
+ AUTOLOAD:=$(call AutoProbe,tcp_hybla)
+endef
+
+define KernelPackage/tcp-hybla/description
+ TCP-Hybla is a sender-side only change that eliminates penalization of
+ long-RTT, large-bandwidth connections, like when satellite legs are
+ involved, especially when sharing a common bottleneck with normal
+ terrestrial connections.
+endef
+
+$(eval $(call KernelPackage,tcp-hybla))
+
+
+define KernelPackage/tcp-scalable
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=TCP-Scalable congestion control algorithm
+ KCONFIG:=CONFIG_TCP_CONG_SCALABLE
+ FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko
+ AUTOLOAD:=$(call AutoProbe,tcp-scalable)
+endef
+
+define KernelPackage/tcp-scalable/description
+ Scalable TCP is a sender-side only change to TCP which uses a
+ MIMD congestion control algorithm which has some nice scaling
+ properties, though is known to have fairness issues.
+ See http://www.deneholme.net/tom/scalable/
+endef
+
+$(eval $(call KernelPackage,tcp-scalable))
+
+
define KernelPackage/ax25
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=AX25 support
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
AUTOLOAD:= $(call AutoLoad,32,sctp)
- DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
+ DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \
+ +LINUX_5_15:kmod-udptunnel4 +LINUX_5_15:kmod-udptunnel6
endef
define KernelPackage/sctp/description
define KernelPackage/mpls
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=MPLS support
- DEPENDS:=+!LINUX_4_14:kmod-iptunnel
+ DEPENDS:=+kmod-iptunnel
KCONFIG:= \
CONFIG_MPLS=y \
CONFIG_LWTUNNEL=y \
endef
$(eval $(call KernelPackage,netlink-diag))
+
+
+define KernelPackage/inet-diag
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=INET diag support for ss utility
+ KCONFIG:= \
+ CONFIG_INET_DIAG \
+ CONFIG_INET_TCP_DIAG \
+ CONFIG_INET_UDP_DIAG \
+ CONFIG_INET_RAW_DIAG \
+ CONFIG_INET_DIAG_DESTROY=n
+ FILES:= \
+ $(LINUX_DIR)/net/ipv4/inet_diag.ko \
+ $(LINUX_DIR)/net/ipv4/tcp_diag.ko \
+ $(LINUX_DIR)/net/ipv4/udp_diag.ko \
+ $(LINUX_DIR)/net/ipv4/raw_diag.ko
+ AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag)
+endef
+
+define KernelPackage/inet-diag/description
+Support for INET (TCP, DCCP, etc) socket monitoring interface used by
+native Linux tools such as ss.
+endef
+
+$(eval $(call KernelPackage,inet-diag))
+
+
+define KernelPackage/wireguard
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=WireGuard secure network tunnel
+ DEPENDS:= \
+ +kmod-crypto-lib-blake2s \
+ +kmod-crypto-lib-chacha20poly1305 \
+ +kmod-crypto-lib-curve25519 \
+ +kmod-udptunnel4 \
+ +IPV6:kmod-udptunnel6
+ KCONFIG:= \
+ CONFIG_WIREGUARD \
+ CONFIG_WIREGUARD_DEBUG=n
+ FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko
+ AUTOLOAD:=$(call AutoProbe,wireguard)
+endef
+
+define KernelPackage/wireguard/description
+ WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
+ state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
+ more useful than IPSec, while avoiding the massive headache. It intends to
+ be considerably more performant than OpenVPN. WireGuard is designed as a
+ general purpose VPN for running on embedded interfaces and super computers
+ alike, fit for many different circumstances. It uses UDP.
+endef
+
+$(eval $(call KernelPackage,wireguard))