Intel IXP2800 Personal Computer User Manual


 
214 Hardware Reference Manual
Intel
®
IXP2800 Network Processor
SRAM Interface
The ENQ_tail_and_link command followed by ENQ_tail enqueue a previously linked string
of buffers. The string of buffers is used in the case where one packet is too large to fit in one buffer.
Instead, it is divided among multiple buffers. Figure 79 is an example of a string of buffers.
To enqueue the string of buffers in Figure 79 to the example queue in Figure 77, first issue
ENQ_tail_and_link to address T; Figure 80 is the result.
The second step is to issue an
ENQ_tail to address W. This will fix the Tail to point to the last
buffer of the string.
Note:
Q_count is not changed by ENQ_tail because the string of buffers represents one packet.
Figure 81 is the final queue state.
Figure 79. Previously Linked String of Buffers
A9738-01
U
T: Start of Packet
V
U:
W
V:
No Link
W: End of Packet
Figure 80. First Step to Enqueue a String of Buffers to a Queue (ENQ_Tail_and_Link)
A9739-01
Head: A
Tail: T
Q_Count: 5
B
A:
C
B:
D
C:
T:
V
U:
W
V:
T
D:
No Link
W:
U
Figure 81. Second Step to Enqueue a String of Buffers to a Queue (ENQ_Tail)
A9740-01
Head: A
Tail: T
Q_Count: 5
B
A:
C
B:
D
C:
T:
V
U:
W
V:
T
D:
No Link
W:
U