High Performance Two Port 10/100 Managed Ethernet Switch with 32-Bit Non-PCI CPU Interface
Datasheet
Revision 1.4 (08-19-08)
78
SMSC LAN9312
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
through
for detailed register
definitions). The value programmed is in approximately 20 nS per byte increments. Typical values are
listed in
. When a port is transmitting at 10 Mbps, any setting above 39 has the effect of not
limiting the rate.
Note 6.3
These are the unlimited max bandwidths when IFG and preamble are taken into account.
Table 6.5 Typical Egress Rate Settings
EGRESS RATE
SETTING
TIME PER BYTE
BANDWIDTH @
64 BYTE PACKET
BANDWIDTH @
512 BYTE PACKET
BANDWIDTH @
1518 BYTE PACKET
0-3
80 nS
76 Mbps (
)
96 Mbps (
99 Mbps (
4
100 nS
66 Mbps
78 Mbps
80 Mbps
5
120 nS
55 Mbps
65 Mbps
67 Mbps
6
140 nS
48 Mbps
56 Mbps
57 Mbps
7
160 nS
42 Mbps
49 Mbps
50 Mbps
9
200 nS
34 Mbps
39 Mbps
40 Mbps
12
260 nS
26 Mbps
30 Mbps
31 Mbps
19
400 nS
17 Mbps
20 Mbps
20 Mbps
39
800 nS
8.6 Mbps
10 Mbps
10 Mbps
78
1580 nS
4.4 Mbps
5 Mbps
5 Mbps
158
3180 nS
2.2 Mbps
2.5 Mbps
2.5 Mbps
396
7940 nS
870 Kbps
990 Kbps
1 Mbps
794
15900 nS
440 Kbps
490 Kbps
500 Kbps
1589
31800 nS
220 Kbps
250 Kbps
250 Kbps
3973
79480 nS
87 Kbps
98 Kbps
100 Kbps
7947
158960 nS
44 Kbps
49 Kbps
50 Kbps