From f3a28b6bcf984dc55ec2d675ba75f0d3bc794eb9 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 1 Nov 2021 16:35:16 +0100 Subject: 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 --- package/network/config/qosify/Makefile | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 package/network/config/qosify/Makefile (limited to 'package/network/config/qosify/Makefile') 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 + +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)) -- cgit v1.2.3