System and method of a pace engine for governing the different
transmission rates tailored for different connections by rate pacing a
plurality of queues are described. Roughly described, the pace engine
includes a binning controller for receiving queues from a transmit DMA
queue manager and determines the earliest allowed time for a particular
queue that is stored and paced in a Work Bin, a Fast Bin, or a Slow Bin.
A pace table stores information about the minimum inter-packet-gap for
each connection that is coupled to the transmit DMA queue manager. A
timer is coupled to the binning controller with a multi-bit continuous
counter that increments at a predetermined time unit and wraps around
after a predetermined amount of time.