Use 's%s' for bw speedup; change burst to fix tbf and htb performance.

This commit is contained in:
Bob Lantz
2012-03-23 18:37:32 -07:00
parent e8146dd130
commit 8139695d46
+15 -6
View File
@@ -189,21 +189,30 @@ class TCIntf( Intf ):
elif bw is not None:
# BL: this seems a bit brittle...
if ( speedup > 0 and
self.node.name[0:2] == 'sw' ):
self.node.name[0:1] == 's' ):
bw = speedup
# BL: As far as I can discern,
# burst is the max number of bytes we can send in 1 ms, but
# this may not actually be correct! Why 1 ms?
burst = bw * 1e6 / 8 * .001
if use_hfsc:
cmds = [ '%s qdisc add dev %s root handle 1:0 hfsc default 1',
'class add dev %s parent 1:0 classid 1:1 hfsc sc '
'%s class add dev %s parent 1:0 classid 1:1 hfsc sc '
+ 'rate %fMbit ul rate %fMbit' % ( bw, bw ) ]
elif use_tbf:
latency_us = 10 * 1500 * 8 / bw
# was: latency_us = 10 * 1500 * 8 / bw
latency_us = 1000
cmds = ['%s qdisc add dev %s root handle 1: tbf ' +
'rate %fMbit burst 15000 latency %fus' %
(bw, latency_us) ]
'rate %fMbit burst %f latency %fus' %
( bw, burst, latency_us ) ]
else:
# This may not be correct - we should look more closely
# at the semantics of burst and cburst to make sure we
# are specifying the correct sizes.
cmds = [ '%s qdisc add dev %s root handle 1:0 htb default 1',
'%s class add dev %s parent 1:0 classid 1:1 htb ' +
'rate %fMbit burst 15k' % bw ]
'rate %fMbit burst %f cburst %f' %
( bw, burst, burst ) ]
parent = ' parent 1:1 '
# ECN or RED