#
import sys, os, re, getopt
-from sets import Set
import pwd
# | |
# 1:10 (8bit, 5mbit) 1:20 (8bit, 1gbit)
# | |
+# 1:100 (8bit, 5mbit) |
+# | |
# 1:1000 (8bit, 5mbit), 1:2000 (8bit, 1gbit),
# 1:1001 (8bit, 5mbit), 1:2001 (8bit, 1gbit),
# 1:1002 (1mbit, 5mbit), 1:2002 (1mbit, 1gbit),
tc("class add dev %s parent 1:1 classid 1:10 htb rate %dbit ceil %dbit" % \
(dev, bwmin, bwcap))
+ # Set up a subclass for DRL(Distributed Rate Limiting).
+ # DRL will directly modify that subclass implementing the site limits.
+ tc("class add dev %s parent 1:10 classid 1:100 htb rate %dbit ceil %dbit" % \
+ (dev, bwmin, bwcap))
+
+
# Set up a subclass that represents "exemption" from the node
# bandwidth cap. Once the node bandwidth cap is reached, bandwidth
# to exempt destinations can still be fairly shared up to bwmax.
minexemptrate = maxexemptrate
# Set up subclasses for the slice
- tc("class replace dev %s parent 1:10 classid 1:%x htb rate %dbit ceil %dbit quantum %d" % \
+ tc("class replace dev %s parent 1:100 classid 1:%x htb rate %dbit ceil %dbit quantum %d" % \
(dev, default_minor | xid, minrate, maxrate, share * quantum))
tc("class replace dev %s parent 1:20 classid 1:%x htb rate %dbit ceil %dbit quantum %d" % \
elif opt == '-h':
usage()
+ if bwcap == -1:
+ return 0
+
if len(argv):
if argv[0] == "init" or (argv[0] == "on" and len(argv) == 1):
# (Re)initialize