1. A method of controlling a network device, comprising: receiving a packet in the network device; determining that there are sufficient tokens in a token bucket to allow transmission of the packet; and applying a control method to determine whether to drop the packet, wherein the control method comprises treating a difference between a token bucket capacity and a token bucket level as a virtual queue, wherein a determination of whether to drop packets is based in part on a virtual queue size.