ppe-qos: rename to qca-ppe-qos

Rename ppe-qos to qca-ppe-qos so the package name clearly identifies
it as specific to the Qualcomm PPE. Rename the UCI config, service and
hotplug hook to match.

Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Robert Marko committed 2026-10-18 14:28:07 +02:00
1 parent 8dcdd8fa0e
commit 71194c985d
4 files changed
+26 -26

No files matched your search

@@ -1,6 +1,6 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ppe-qos
PKG_NAME:=qca-ppe-qos
PKG_VERSION:=1.0
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0-only
@@ -9,7 +9,7 @@ PKG_MAINTAINER:=Julius Bairaktaris <julius@bairaktaris.de>
include $(INCLUDE_DIR)/package.mk
define Package/ppe-qos
define Package/qca-ppe-qos
SECTION:=net
CATEGORY:=Network
TITLE:=Qualcomm PPE hardware QoS classifiers
@@ -18,7 +18,7 @@ define Package/ppe-qos
PKGARCH:=all
endef
define Package/ppe-qos/description
define Package/qca-ppe-qos/description
Configures the classifiers that pick a hardware egress queue on the
Qualcomm PPE: per-port DSCP-to-priority maps (via dcb app) and the
switch's small-packet priority, so latency-sensitive traffic is served
@@ -29,16 +29,16 @@ endef
define Build/Compile
endef
define Package/ppe-qos/conffiles
/etc/config/ppe-qos
define Package/qca-ppe-qos/conffiles
/etc/config/qca-ppe-qos
endef
define Package/ppe-qos/install
define Package/qca-ppe-qos/install
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d
$(INSTALL_CONF) ./files/ppe-qos.config $(1)/etc/config/ppe-qos
$(INSTALL_BIN) ./files/ppe-qos.init $(1)/etc/init.d/ppe-qos
$(INSTALL_CONF) ./files/qca-ppe-qos.config $(1)/etc/config/qca-ppe-qos
$(INSTALL_BIN) ./files/qca-ppe-qos.init $(1)/etc/init.d/qca-ppe-qos
$(INSTALL_DIR) $(1)/etc/hotplug.d/net
$(INSTALL_DATA) ./files/ppe-qos.hotplug $(1)/etc/hotplug.d/net/20-ppe-qos
$(INSTALL_DATA) ./files/qca-ppe-qos.hotplug $(1)/etc/hotplug.d/net/20-qca-ppe-qos
endef
$(eval $(call BuildPackage,ppe-qos))
$(eval $(call BuildPackage,qca-ppe-qos))
@@ -1,8 +1,8 @@
#!/bin/sh
# The small-packet egress stamp has to follow the interface, not the service:
# ppe-qos starts before hostapd creates the AP netdev, so applying it only at
# qca-ppe-qos starts before hostapd creates the AP netdev, so applying it only at
# start leaves every boot without it.
[ "$ACTION" = add ] || exit 0
[ -e "/sys/class/net/$DEVICENAME/phy80211" ] || exit 0
[ -x /etc/init.d/ppe-qos ] || exit 0
/etc/init.d/ppe-qos wifi_dev "$DEVICENAME"
[ -x /etc/init.d/qca-ppe-qos ] || exit 0
/etc/init.d/qca-ppe-qos wifi_dev "$DEVICENAME"
@@ -60,8 +60,8 @@ prio_of() {
done
}
# Trust boundary: /etc/config/ppe-qos is writable by any LuCI role holding the
# ppe-qos ACL, and its values are pasted into the tc command lines below, which
# Trust boundary: /etc/config/qca-ppe-qos is writable by any LuCI role holding the
# qca-ppe-qos ACL, and its values are pasted into the tc command lines below, which
# run as root. The LuCI form's datatype checks run in the browser only, so
# re-validate here - none of these fields legitimately holds a shell
# metacharacter.
@@ -130,7 +130,7 @@ add_filter() {
INSTALLED=$((INSTALLED + 1))
else
SKIPPED=$((SKIPPED + 1))
logger -t ppe-qos "port $1: switch refused $2/$3 $4"
logger -t qca-ppe-qos "port $1: switch refused $2/$3 $4"
fi
done
}
@@ -214,12 +214,12 @@ apply_rule() {
config_get dport "$cfg" dest_port
dscp=$(class_to_dscp "$class") || {
logger -t ppe-qos "rule '$name': unknown class '$class', skipped"
logger -t qca-ppe-qos "rule '$name': unknown class '$class', skipped"
return 0
}
valid_addrs "$sip" && valid_addrs "$dip" &&
valid_ports "${sport:-0}" && valid_ports "${dport:-0}" || {
logger -t ppe-qos "rule '$name': address or port list rejected, skipped"
logger -t qca-ppe-qos "rule '$name': address or port list rejected, skipped"
return 0
}
@@ -293,7 +293,7 @@ wifi_clear() {
apply() {
local len prio pairs="" port dev
config_load ppe-qos
config_load qca-ppe-qos
config_get_bool ENABLED global enabled 1
config_get len global small_pkt_len 1000
config_get prio global small_pkt_prio 5
@@ -332,7 +332,7 @@ apply() {
config_get p "$1" prio
[ -n "$d" ] && [ -n "$p" ] || return 0
case "$d$p" in *[!0-9]*)
logger -t ppe-qos "dscp map '$d:$p' is not numeric, skipped"
logger -t qca-ppe-qos "dscp map '$d:$p' is not numeric, skipped"
return 0 ;;
esac
pairs="$pairs dscp-prio $d:$p"
@@ -350,14 +350,14 @@ apply() {
[ -n "$pairs" ] && dcb app add dev "$port" $pairs
done
elif [ -n "$pairs" ]; then
logger -t ppe-qos "dscp maps skipped: the kernel is built without DCB"
logger -t qca-ppe-qos "dscp maps skipped: the kernel is built without DCB"
fi
flush_filters
WAN_PORT=$(wan_port)
[ -n "$WAN_PORT" ] ||
logger -t ppe-qos "the uplink is not a switch port; every rule's download half is skipped - set ppe-qos.global.wan_port"
logger -t qca-ppe-qos "the uplink is not a switch port; every rule's download half is skipped - set qca-ppe-qos.global.wan_port"
# The uplink port carries the download half of every rule, which is what
# a mark is actually worth here: it picks the egress queue toward the
@@ -393,9 +393,9 @@ apply() {
# more where it matches an IPv6 address, which does not fit in a single
# entry. Say what fitted, so that a rule quietly missing from half the
# ports is visible.
logger -t ppe-qos "marking rules: $INSTALLED filters installed, $SKIPPED refused"
logger -t qca-ppe-qos "marking rules: $INSTALLED filters installed, $SKIPPED refused"
[ "$SKIPPED" = 0 ] ||
logger -t ppe-qos "the switch classifier is full; disable rules or narrow their port lists"
logger -t qca-ppe-qos "the switch classifier is full; disable rules or narrow their port lists"
}
EXTRA_COMMANDS="wifi_dev"
@@ -412,7 +412,7 @@ wifi_dev() {
local dev="$1" len prio
[ -n "$dev" ] || return 1
config_load ppe-qos
config_load qca-ppe-qos
config_get_bool ENABLED global enabled 1
config_get len global small_pkt_len 1000
config_get prio global small_pkt_prio 5
@@ -425,7 +425,7 @@ reload_service() {
}
service_triggers() {
procd_add_reload_trigger "ppe-qos"
procd_add_reload_trigger "qca-ppe-qos"
}
# The egress block on an AP netdev is shared with whatever else is on the