Flexible multilevel output traffic control
First Claim
1. A method for controlling the flow of packets through at least one output interface comprising:
- queuing packets into type-specific queues;
applying per-type rate shaping rules to said type-specific queues;
queuing packets, from the type-specific queues that pass said applied per-type rate shaping rules, into interface-specific queues;
applying per-interface rate shaping rules to said interface-specific queues; and
dequeuing packets, from the interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to at least one output interface in response to interface-specific requests.
13 Assignments
0 Petitions
Accused Products
Abstract
A two stage rate shaping and scheduling system and method is implemented to control the flow of traffic to at least one output interface. The system and method involves initially queuing incoming packets into type-specific queues and applying individual rate shaping rules to each queue. A first stage arbitration is performed to determine how traffic is queued from the type-specific queues to interface-specific queues. Packets that win arbitration and pass the applied rate shaping rules are queued in interface-specific queues. Rate shaping rules are applied to the interface-specific queues. The interface-specific queues are further distinguished by priority and priority-specific and interface-specific rate shaping rules are applied to each queue. A second stage arbitration is performed to determine how different priority traffic that is targeting the same output interface is dequeued in response to interface-specific requests.
99 Citations
34 Claims
-
1. A method for controlling the flow of packets through at least one output interface comprising:
-
queuing packets into type-specific queues;
applying per-type rate shaping rules to said type-specific queues;
queuing packets, from the type-specific queues that pass said applied per-type rate shaping rules, into interface-specific queues;
applying per-interface rate shaping rules to said interface-specific queues; and
dequeuing packets, from the interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to at least one output interface in response to interface-specific requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for controlling the flow of packets through at least one output interface comprising:
-
a queue manager configured to receive packets that have been classified, to direct said packets to a packet buffer, and to dispatch packets from said packet buffer to at least one output interface in response to interface-specific requests;
a plurality of type-specific queues;
a type-specific shaping and scheduling engine operationally associated with said plurality of type-specific queues; and
an interface-specific shaping and scheduling engine operationally associated with said type-specific shaping and scheduling engine, said interface-specific shaping and scheduling engine including a plurality of interface-specific queues;
said type-specific shaping and scheduling engine being configured to apply per-type rate shaping rules to said type-specific queues and to queue packets, from type-specific queues that pass said applied per-type rate shaping rules, into said interface-specific queues of said interface-specific shaping and scheduling engine;
said interface-specific shaping and scheduling engine being configured to apply per-interface rate shaping rules to said interface-specific queues and to dequeue packets, from interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to said at least one output interface in response to interface-specific requests. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method for rate shaping a flow of packets comprising:
-
establishing an assumed length value;
providing a credit value that is related to a queue and a flow of packets;
performing a rate shaping check on said queue; and
deducting said assumed length value from said credit value if said queue passes said rate shaping check and a first packet, from said flow of packets, is forwarded from said queue. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A method for rate shaping a flow of packets comprising:
-
establishing a plurality of subqueues that all target the same interface, said interface having a total available bandwidth;
allocating a portion of said total available bandwidth to each of said subqueues by setting credit refresh rates for subqueue-specific credit buckets;
queuing packets into said plurality of subqueues;
distributing bandwidth to said plurality of subqueues according to said bandwidth allocations;
identifying unused bandwidth related to said interface; and
allocating said unused bandwidth to subqueues, which have consumed their allocated portion of the total available bandwidth but still have queued packets, by increasing the credit refresh rate by a common multiple for all of the subqueues that have consumed their allocated portion of the total available bandwidth but still have queued packets;
wherein said allocation of unused bandwidth preserves the relative relationships of bandwidth allocations among the subqueues that have consumed their allocated portion of the total available bandwidth but still have queued packets. - View Dependent Claims (33, 34)
-
Specification