# bwmin should be small enough that it can be considered negligibly
# slow compared to the hardware. 8 bits/second appears to be the
# smallest value supported by tc.
-bwmin = 8
+bwmin = 1000
# bwmax should be large enough that it can be considered at least as
# fast as the hardware.
def set(xid, share = None, minrate = None, maxrate = None, minexemptrate = None, maxexemptrate = None):
- on(xid = xid, share = share,
- minrate = minrate, maxrate = maxrate,
- minexemptrate = minexemptrate, maxexemptrate = maxexemptrate)
+ # Get defaults from current state if available
+ # get(xid,dev) = ( xid, share, minrate, maxrate, minexemptrate, maxexemptrate, bytes, i2bytes )
+ current = get(xid, dev)
+ if current == None: current = () # must be a new slice if returned nothing.
+ new = ( share, minrate, maxrate, minexemptrate, maxexemptrate )
+ if current[1:6] != new:
+ on(xid = xid, share = share,
+ minrate = minrate, maxrate = maxrate,
+ minexemptrate = minexemptrate, maxexemptrate = maxexemptrate)
# Remove class associated with specified slice xid. If further packets