From 46473c5699fbe3105de8ad00c60a4ba447d9c784 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Tue, 1 Sep 2020 16:10:19 -0400 Subject: fshaper.sh fix (#3620) --- src/fshaper/fshaper.sh | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) (limited to 'src/fshaper') diff --git a/src/fshaper/fshaper.sh b/src/fshaper/fshaper.sh index 936a23512..ef76813ea 100755 --- a/src/fshaper/fshaper.sh +++ b/src/fshaper/fshaper.sh @@ -3,6 +3,16 @@ # Copyright (C) 2014-2020 Firejail Authors # License GPL v2 +TCFILE="" +if [ -x "/usr/sbin/tc" ]; then + TCFILE="/usr/sbin/tc" +elif [ -x "/sbin/tc" ]; then + TCFILE="/sbin/tc"; +else + echo "Error: traffic control utility (tc) not found"; + exit 1 +fi + usage() { echo "Usage:" echo " fshaper.sh --status" @@ -11,8 +21,8 @@ usage() { } if [ "$1" = "--status" ]; then - /sbin/tc -s qdisc ls - /sbin/tc -s class ls + $TCFILE -s qdisc ls + $TCFILE -s class ls exit fi @@ -25,8 +35,8 @@ if [ "$1" = "--clear" ]; then DEV=$2 echo "Removing bandwidth limits" - /sbin/tc qdisc del dev $DEV root 2> /dev/null > /dev/null - /sbin/tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null + $TCFILE qdisc del dev $DEV root 2> /dev/null > /dev/null + $TCFILE qdisc del dev $DEV ingress 2> /dev/null > /dev/null exit fi @@ -34,7 +44,7 @@ fi if [ "$1" = "--set" ]; then DEV=$2 echo "Removing bandwidth limit" - /sbin/tc qdisc del dev $DEV ingress #2> /dev/null > /dev/null + $TCFILE qdisc del dev $DEV ingress #2> /dev/null > /dev/null if [ $# -ne 4 ]; then echo "Error: missing parameters" @@ -54,16 +64,16 @@ if [ "$1" = "--set" ]; then echo "Upload speed ${OUT}kbps" echo "cleaning limits" - /sbin/tc qdisc del dev $DEV root 2> /dev/null > /dev/null - /sbin/tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null + $TCFILE qdisc del dev $DEV root 2> /dev/null > /dev/null + $TCFILE qdisc del dev $DEV ingress 2> /dev/null > /dev/null echo "configuring tc ingress" - /sbin/tc qdisc add dev $DEV handle ffff: ingress #2> /dev/null > /dev/null - /sbin/tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \ + $TCFILE qdisc add dev $DEV handle ffff: ingress #2> /dev/null > /dev/null + $TCFILE filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \ 0.0.0.0/0 police rate ${IN}kbit burst 10k drop flowid :1 #2> /dev/null > /dev/null echo "configuring tc egress" - /sbin/tc qdisc add dev $DEV root tbf rate ${OUT}kbit latency 25ms burst 10k #2> /dev/null > /dev/null + $TCFILE qdisc add dev $DEV root tbf rate ${OUT}kbit latency 25ms burst 10k #2> /dev/null > /dev/null exit fi -- cgit v1.2.3-54-g00ecf