High Performance Two Port 10/100 Managed Ethernet Switch with 32-Bit Non-PCI CPU Interface
Datasheet
6.5.4
Transmit Priority Queue Servicing
When a transmit queue is non-empty, it is serviced and the packet is read from the buffer RAM and
sent to the transmit MAC. If there are multiple queues that require servicing, one of two methods may
be used: fixed priority ordering, or weighted round-robin ordering. If the Fixed Priority Queue Servicing
bit in the Buffer Manager Configuration Register (BM_CFG) is set, a strict order, fixed priority is
selected. Transmit queue 3 has the highest priority, followed by 2, 1, and 0. If the Fixed Priority Queue
Servicing bit in the Buffer Manager Configuration Register (BM_CFG) is cleared, a weighted round-
robin order is followed. Assuming all four queues are non-empty, the service is weighted with a 9:4:2:1
ratio (queue 3,2,1,0). The servicing is blended to avoid burstiness (e.g. queue 3, then queue 2, then
queue 3, etc.).
6.5.5
Egress Rate Limiting (Leaky Bucket)
For egress rate limiting, the leaky bucket algorithm is used on each output priority queue. For each
output port, the bandwidth that is used by each priority queue can be limited. If any egress queue
receives packets faster than the specified egress rate, packets will be accumulated in the packet
memory. After the memory is used, packet dropping or flow control will be triggered.
Note: Egress rate limiting occurs before the Transmit Priority Queue Servicing, such that a lower
priority queue will be serviced if a higher priority queue is being rate limited.
The egress limiting is enabled per priority queue. After a packet is selected to be sent, its length is
recorded. The switch then waits a programmable amount of time, scaled by the packet length, before
servicing that queue once again. The amount of time per byte is programmed into the Buffer Manager
Egress Rate registers (refer to Section 14.5.4.14 through Section 14.5.4.19 for detailed register
definitions). The value programmed is in approximately 20 nS per byte increments. Typical values are
listed in Table 6.5. When a port is transmitting at 10 Mbps, any setting above 39 has the effect of not
limiting the rate.
Table 6.5 Typical Egress Rate Settings
EGRESS RATE
SETTING
BANDWIDTH @
64 BYTE PACKET
BANDWIDTH @
512 BYTE PACKET 1518 BYTE PACKET
BANDWIDTH @
TIME PER BYTE
0-3
4
80 nS
100 nS
76 Mbps (Note 6.3)
66 Mbps
96 Mbps (Note 6.3)
78 Mbps
65 Mbps
56 Mbps
49 Mbps
39 Mbps
30 Mbps
20 Mbps
10 Mbps
5 Mbps
99 Mbps (Note 6.3)
80 Mbps
67 Mbps
57 Mbps
50 Mbps
40 Mbps
31 Mbps
20 Mbps
10 Mbps
5 Mbps
5
120 nS
55 Mbps
6
140 nS
48 Mbps
7
160 nS
42 Mbps
9
200 nS
34 Mbps
12
260 nS
26 Mbps
19
400 nS
17 Mbps
39
800 nS
8.6 Mbps
4.4 Mbps
2.2 Mbps
870 Kbps
440 Kbps
220 Kbps
87 Kbps
78
1580 nS
3180 nS
7940 nS
15900 nS
31800 nS
79480 nS
158960 nS
158
396
794
1589
3973
7947
2.5 Mbps
990 Kbps
490 Kbps
250 Kbps
98 Kbps
2.5 Mbps
1 Mbps
500 Kbps
250 Kbps
100 Kbps
50 Kbps
44 Kbps
49 Kbps
Note 6.3 These are the unlimited max bandwidths when IFG and preamble are taken into account.
Revision 1.2 (04-08-08)
SMSC LAN9312
DATA7S8HEET