diff options
author | d. johnson <fenris02@fedoraproject.org> | 2014-10-13 15:32:33 -0500 |
---|---|---|
committer | d. johnson <fenris02@fedoraproject.org> | 2014-10-13 15:32:33 -0500 |
commit | 291c2bfa5c86f1f1b3cc81f68dd7588d3084d6fe (patch) | |
tree | 7a2acb96ae4f47ade79ad924ad1555981679ed3b | |
parent | ec12100677d5bcee7fbe0a0d86f4f4a0e6e9c3ac (diff) | |
download | cleanup-291c2bfa5c86f1f1b3cc81f68dd7588d3084d6fe.tar.gz cleanup-291c2bfa5c86f1f1b3cc81f68dd7588d3084d6fe.tar.xz cleanup-291c2bfa5c86f1f1b3cc81f68dd7588d3084d6fe.zip |
modified to use full paths for rhel/fedora
-rwxr-xr-x | debloat.sh | 41 |
1 files changed, 24 insertions, 17 deletions
@@ -5,7 +5,11 @@ # This script is presently targetted to go into # /etc/network/ifup.d on debian derived systems +# /sbin/ifup-local on rhel / centos / fedora derived systems +# +# References: http://www.bufferbloat.net/projects/codel/wiki/Best_practices_for_benchmarking_Codel_and_FQ_Codel +IFACE=$1 [[ "$IFACE" == "lo" ]] && exit 0 LL=1 # go for lowest latency @@ -18,8 +22,10 @@ FQ_LIMIT="" # the default 10000 packet limit mucks with slow start at speeds # at 1Gbit and below. Somewhat arbitrary figures selected. [ -z "$IFACE" ] && echo error: $0 expects IFACE parameter in environment && exit 1 -[ -z `which ethtool` ] && echo error: ethtool is required && exit 1 -[ -z `which tc` ] && echo error: tc is required && exit 1 +ethtool=/sbin/ethtool +[ -z $ethtool ] && echo error: ethtool is required && exit 1 +tc=/sbin/tc +[ -z $tc ] && echo error: tc is required && exit 1 # FIXME see if $QDISC is available. modprobe? # BUGS - need to detect bridges. @@ -44,12 +50,12 @@ FLOW_KEYS="src,dst,proto,proto-src,proto-dst" et() { ( - ethtool -K $IFACE tso off - ethtool -K $IFACE gso off - ethtool -K $IFACE ufo off + $ethtool -K $IFACE tso off + $ethtool -K $IFACE gso off + $ethtool -K $IFACE ufo off # Presently unknown if gro/lro affect latency much - ethtool -K $IFACE gro off - ethtool -K $IFACE lro off + $ethtool -K $IFACE gro off + $ethtool -K $IFACE lro off ) 2> /dev/null } @@ -57,11 +63,11 @@ et() { # to be voice, video, best effort and background wifi() { - tc qdisc add dev $IFACE handle 1 root mq - tc qdisc add dev $IFACE parent 1:1 $QDISC $FQ_OPTS noecn - tc qdisc add dev $IFACE parent 1:2 $QDISC $FQ_OPTS - tc qdisc add dev $IFACE parent 1:3 $QDISC $FQ_OPTS - tc qdisc add dev $IFACE parent 1:4 $QDISC $FQ_OPTS noecn + $tc qdisc add dev $IFACE handle 1 root mq + $tc qdisc add dev $IFACE parent 1:1 $QDISC $FQ_OPTS noecn + $tc qdisc add dev $IFACE parent 1:2 $QDISC $FQ_OPTS + $tc qdisc add dev $IFACE parent 1:3 $QDISC $FQ_OPTS + $tc qdisc add dev $IFACE parent 1:4 $QDISC $FQ_OPTS noecn } # Hardware mq ethernet devs are special and need some sort of filter @@ -69,20 +75,20 @@ wifi() { mq() { local I=1 - tc qdisc add dev $IFACE handle 1 root mq + $tc qdisc add dev $IFACE handle 1 root mq for i in $S/$IFACE/queues/tx-* do - tc qdisc add dev $IFACE parent 1:$(printf "%x" $I) $QDISC $FQ_OPTS + $tc qdisc add dev $IFACE parent 1:$(printf "%x" $I) $QDISC $FQ_OPTS I=`expr $I + 1` done I=`expr $I - 1` - tc filter add dev $IFACE prio 1 protocol ip parent 1: handle 100 \ + $tc filter add dev $IFACE prio 1 protocol ip parent 1: handle 100 \ flow hash keys ${FLOW_KEYS} divisor $I baseclass 1:1 } fq_codel() { - tc qdisc add dev $IFACE root $QDISC $FQ_OPTS $FQ_LIMIT + $tc qdisc add dev $IFACE root $QDISC $FQ_OPTS $FQ_LIMIT } fix_speed() { @@ -121,8 +127,9 @@ fi } -tc qdisc del dev $IFACE root 2> /dev/null +$tc qdisc del dev $IFACE root 2> /dev/null fix_speed fix_queues +/sbin/ip link set $IFACE txqueuelen 100 exit 0 |