From 1d24d5c4f71c61042c11b63222684d9f29d8ceab Mon Sep 17 00:00:00 2001 From: Sukru Senli Date: Tue, 26 Mar 2024 14:09:18 +0000 Subject: [PATCH] ethmngr: add ruleng ethport recipe and generate deprecated ubus event --- .../ethernet/ethport-deprecated-ubus-event | 23 +++++++++++++++++++ ethmngr/files/etc/uci-defaults/ruleng.ethport | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 ethmngr/files/etc/hotplug.d/ethernet/ethport-deprecated-ubus-event create mode 100644 ethmngr/files/etc/uci-defaults/ruleng.ethport diff --git a/ethmngr/files/etc/hotplug.d/ethernet/ethport-deprecated-ubus-event b/ethmngr/files/etc/hotplug.d/ethernet/ethport-deprecated-ubus-event new file mode 100644 index 000000000..f6309cd98 --- /dev/null +++ b/ethmngr/files/etc/hotplug.d/ethernet/ethport-deprecated-ubus-event @@ -0,0 +1,23 @@ +#!/bin/sh + +[ -n "$PORT" -a -n "$LINK" ] || exit 0 + +case "$PORT" in + # do not generate ethport ubus event + # for wifi, dsl and brige devices + wl*|wds*|atm*|ptm*|br-*) + exit 0 + ;; +esac + +speed=0 +duplex=full + +if [ "$LINK" = "up" ]; then + devspeed="$(ubus -t 2 call network.device status "{\"name\":\"$PORT\"}" | jsonfilter -e @.speed)" + speed=${devspeed:0:-1} + duplex=${devspeed:0-1} + [ "$duplex" == "H" ] && duplex="half" || duplex="full" +fi + +ubus send ethport "{\"ifname\":\"$PORT\",\"link\":\"$LINK\",\"speed\":\"$speed\",\"duplex\":\"$duplex\"}" diff --git a/ethmngr/files/etc/uci-defaults/ruleng.ethport b/ethmngr/files/etc/uci-defaults/ruleng.ethport new file mode 100644 index 000000000..cf201af47 --- /dev/null +++ b/ethmngr/files/etc/uci-defaults/ruleng.ethport @@ -0,0 +1,2 @@ +uci -q set ruleng.ethport=rule +uci -q set ruleng.ethport.recipe='/etc/ruleng/ethport.json'