From: Fabian Grünbichler Date: Mon, 2 May 2016 13:03:03 +0000 (+0200) Subject: Use run_command instead of system X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=2d6b3a90dbb88b26ca5ec1deae4a4b1e2b808c50 Use run_command instead of system and explicitly note that those calls are allowed to fail and are wrapped in eval {} on purpose. --- diff --git a/src/PVE/Network.pm b/src/PVE/Network.pm index bda2067..be26132 100644 --- a/src/PVE/Network.pm +++ b/src/PVE/Network.pm @@ -76,10 +76,11 @@ our $ipv4_mask_hash_localnet = { sub setup_tc_rate_limit { my ($iface, $rate, $burst, $debug) = @_; - system("/sbin/tc class del dev $iface parent 1: classid 1:1 >/dev/null 2>&1"); - system("/sbin/tc filter del dev $iface parent ffff: protocol all pref 50 u32 >/dev/null 2>&1"); - system("/sbin/tc qdisc del dev $iface ingress >/dev/null 2>&1"); - system("/sbin/tc qdisc del dev $iface root >/dev/null 2>&1"); + # these are allowed / expected to fail, e.g. when there is no previous rate limit to remove + eval { run_command("/sbin/tc class del dev $iface parent 1: classid 1:1 >/dev/null 2>&1"); }; + eval { run_command("/sbin/tc filter del dev $iface parent ffff: protocol all pref 50 u32 >/dev/null 2>&1"); }; + eval { run_command("/sbin/tc qdisc del dev $iface ingress >/dev/null 2>&1"); }; + eval { run_command("/sbin/tc qdisc del dev $iface root >/dev/null 2>&1"); }; return if !$rate;