diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-11-01 16:35:16 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-11-01 16:39:52 +0100 |
commit | f3a28b6bcf984dc55ec2d675ba75f0d3bc794eb9 (patch) | |
tree | a8d9243429c807b1a72b05eb3a2f077d20afef70 /package/network/config/qosify/Makefile | |
parent | a537d06c72853c054c57d75af4074c1749e47947 (diff) | |
download | upstream-f3a28b6bcf984dc55ec2d675ba75f0d3bc794eb9.tar.gz upstream-f3a28b6bcf984dc55ec2d675ba75f0d3bc794eb9.tar.bz2 upstream-f3a28b6bcf984dc55ec2d675ba75f0d3bc794eb9.zip |
qosify: add package for simple qos based on ebpf+cake
qosify is simple daemon for setting up and managing CAKE along with a custom
eBPF based classifier that sets DSCP fields of packets.
It is configured via UCI and it supports the following features:
- simple TCP/UDP port based mapping
- IP address based mapping
- priority boosting based on average packet size
- bulk flow detection based on number of packets per second
- dynamically add IP entries with timeout
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/network/config/qosify/Makefile')
-rw-r--r-- | package/network/config/qosify/Makefile | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/package/network/config/qosify/Makefile b/package/network/config/qosify/Makefile new file mode 100644 index 0000000000..28dedf874d --- /dev/null +++ b/package/network/config/qosify/Makefile @@ -0,0 +1,55 @@ +# +# Copyright (C) 2021 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=qosify +PKG_SOURCE_URL=$(PROJECT_GIT)/project/qosify.git +PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2021-11-01 +PKG_SOURCE_VERSION:=52a57bf0e4eb2c6419be304981c5c94adb32d037 +PKG_MIRROR_HASH:=11a5f2650cf9c4979455ca230eb9ceddb035e6914bda78cf75b8dd7ebaff65d3 + +PKG_LICENSE:=GPL-2.0 +PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> + +PKG_BUILD_DEPENDS:=bpf-headers + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk +include $(INCLUDE_DIR)/bpf.mk + +define Package/qosify + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Support + TITLE:=A simple QoS solution based eBPF + CAKE + DEPENDS:=+libbpf +libubox +libubus +kmod-sched-cake +tc-full @!BPF_TOOLCHAIN_NONE +endef + +define Build/Compile + $(call CompileBPF,$(PKG_BUILD_DIR)/qosify-bpf.c) + $(Build/Compile/Default) +endef + +define Package/qosify/conffiles +/etc/config/qosify +/etc/qosify-defaults.conf +endef + +define Package/qosify/install + $(INSTALL_DIR) $(1)/lib/bpf $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config $(1)/etc/hotplug.d/net + $(INSTALL_DATA) $(PKG_BUILD_DIR)/qosify-bpf.o $(1)/lib/bpf + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qosify $(1)/usr/sbin/ + $(INSTALL_BIN) ./files/qosify.init $(1)/etc/init.d/qosify + $(INSTALL_DATA) ./files/qosify-defaults.conf $(1)/etc/qosify-defaults.conf + $(INSTALL_DATA) ./files/qosify.conf $(1)/etc/config/qosify + $(INSTALL_DATA) ./files/qosify.hotplug $(1)/etc/hotplug.d/net/10-qosify +endef + +$(eval $(call BuildPackage,qosify)) |