mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
New way for omr-tracker
This commit is contained in:
parent
32e01b3a2a
commit
48e3b85f88
2 changed files with 21 additions and 15 deletions
|
@ -9,7 +9,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=omr-tracker
|
PKG_NAME:=omr-tracker
|
||||||
PKG_VERSION:=1.2
|
PKG_VERSION:=1.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
@ -18,7 +18,6 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=OpenMPTCProuter tracker
|
TITLE:=OpenMPTCProuter tracker
|
||||||
DEPENDS:=+nping
|
|
||||||
PKGARCH:=all
|
PKGARCH:=all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -86,21 +86,27 @@ while true; do
|
||||||
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
||||||
# retrieve iface ip and gateway
|
# retrieve iface ip and gateway
|
||||||
OMR_TRACKER_DEVICE_IP=$(ip -4 -br addr ls dev "$OMR_TRACKER_DEVICE" | awk -F'[ /]+' '{print $3}')
|
OMR_TRACKER_DEVICE_IP=$(ip -4 -br addr ls dev "$OMR_TRACKER_DEVICE" | awk -F'[ /]+' '{print $3}')
|
||||||
OMR_TRACKER_DEVICE_GATEWAY_MAC=$(arp $OMR_TRACKER_DEVICE_GATEWAY | awk '{print $4}')
|
|
||||||
|
|
||||||
# execute specific tracker
|
# execute specific tracker
|
||||||
if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
|
if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
|
||||||
# setup loop variable
|
retgw=$(ping "$OMR_TRACKER_DEVICE_GATEWAY" \
|
||||||
tries="$OMR_TRACKER_TRIES"
|
-I "$OMR_TRACKER_DEVICE_IP" \
|
||||||
# loop until tries attempts have been reached
|
-w 1 \
|
||||||
while [ "$tries" -gt 0 ]; do
|
-c 1 \
|
||||||
ret=$(arpping -c 1 \
|
-q
|
||||||
-r "$OMR_TRACKER_DEVICE" \
|
) && echo "$retgw" | grep -sq "0% packet loss" && {
|
||||||
-S "$OMR_TRACKER_DEVICE_IP" \
|
# setup loop variable
|
||||||
-T "$OMR_TRACKER_HOST" \
|
tries="$OMR_TRACKER_TRIES"
|
||||||
"$OMR_TRACKER_DEVICE_GATEWAY_MAC")
|
ip route replace "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP"
|
||||||
) && echo "$ret" | grep -sq "Lost: 0 (0.00%)" && {
|
# loop until tries attempts have been reached
|
||||||
OMR_TRACKER_LATENCY=$(echo "$ret" | awk '/Avg/{print $(NF)}' | sed 's:ms::')
|
while [ "$tries" -gt 0 ]; do
|
||||||
|
ret=$(ping "$OMR_TRACKER_HOST" \
|
||||||
|
-I "$OMR_TRACKER_DEVICE_IP" \
|
||||||
|
-w "$OMR_TRACKER_TIMEOUT" \
|
||||||
|
-c 1 \
|
||||||
|
-q
|
||||||
|
) && echo "$ret" | grep -sq "0% packet loss" && {
|
||||||
|
OMR_TRACKER_LATENCY=$(echo "$ret" | cut -d "/" -s -f4 | cut -d "." -f1)
|
||||||
_update_rto "$OMR_TRACKER_LATENCY"
|
_update_rto "$OMR_TRACKER_LATENCY"
|
||||||
OMR_TRACKER_STATUS="OK"
|
OMR_TRACKER_STATUS="OK"
|
||||||
break
|
break
|
||||||
|
@ -108,6 +114,7 @@ while true; do
|
||||||
tries=$((tries - 1))
|
tries=$((tries - 1))
|
||||||
OMR_TRACKER_TIMEOUT=$((OMR_TRACKER_TIMEOUT * 2))
|
OMR_TRACKER_TIMEOUT=$((OMR_TRACKER_TIMEOUT * 2))
|
||||||
done
|
done
|
||||||
|
ip route del "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue