Intel NETWORK PROCESSOR IXP2800 User Manual

Page 214

Advertising
background image

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

Advertising