X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=python%2Fbwlimit.py;h=bfab4f76cbf8c6e552904666d24d1af098009ebd;hb=e69eb09c11bcfb647c16b4534a4fcd89f909a565;hp=b408caad55300ce39bfc3599e2182511079a6478;hpb=3d2b62598dab648014055b256e3cd22dc31fdaa0;p=util-vserver.git diff --git a/python/bwlimit.py b/python/bwlimit.py index b408caa..bfab4f7 100644 --- a/python/bwlimit.py +++ b/python/bwlimit.py @@ -80,7 +80,7 @@ def get_defaults(cap_file="/etc/planetlab/bwcap", default_cap="10mbit"): return cap, cburst, share, quantum -def init(eth): +def init(eth = "eth0"): global TC, OPS cap, cburst, share, quantum = get_defaults() @@ -115,16 +115,18 @@ def init(eth): (TC, op, eth) if run(cmd): break -def on(xid, eth, bwlimit, cap, minrate, maxrate): +def on(xid, eth, share, minrate, maxrate = None): global TC, OPS default_cap, default_cburst, default_share, default_quantum = get_defaults() - quantum = bwlimit * default_quantum + if maxrate == None: + maxrate = default_cap + quantum = share * default_quantum # Set up the per-vserver token bucket for op in OPS: cmd = "%s class %s dev %s parent 1:1 classid 1:%d htb rate %s ceil %s quantum %d cburst %d" % \ - (TC, op, eth, xid, minrate, cap, quantum, default_cburst) + (TC, op, eth, xid, minrate, maxrate, quantum, default_cburst) if run(cmd): break # The next command appears to throttle back processes that are