2 csix, 1 link-level, 2 virtual output queue – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 273: 5 parity, 1 spi-4, Csix, Parity 8.3.5.1, Spi-4, Section 8.3.4.2, Fabric)

Advertising
background image

Hardware Reference Manual

273

Intel

®

IXP2800 Network Processor

Media and Switch Fabric Interface

8.3.4.2

CSIX

There are two types of CSIX flow control:

Link-level

Virtual Output Queue (VOQ)

8.3.4.2.1

Link-Level

The Link-level flow control function is done via hardware and consists of two parts:

1. Enable/disable transmission of valid TBUF elements.

2. Ready field to be sent in CFrames sent to the Switch Fabric.

As described in

Section 8.2.7

, the Ready Field of received CFrames is placed into

FC_Egress_Status[SF_CReady] and FC_Egress_Status[SF_DReady]. The value in those bits is

sent to the Ingress IXP2800 Network Processor on TXCSRB. In Full Duplex Mode, the
information is received on RXCSRB by the Ingress IXP2800 Network Processor and put into

FC_Ingress_Status[SF_CReady] and FC_Ingress_Status[SF_DReady]. Those bits allow or

stop transmission of Control and Data elements, respectively. When one of those bits transitions
from allowing transmission to stopping transmission, the current CFrame in progress (if any) is

completed, and the next CFrame of that type is prevented from starting.

As described in

Section 8.2.7

, if the Egress IXP2800 Network Processor RBUF gets near full, or if

the Egress IXP2800 Network Processor FCEFIFO gets near full, it will send that information on
TXCSRB. Those bits are put into FC_Ingress_Status[TM_CReady] and

FC_Ingress_Status[TM_DReady], and are used as the value in CFrame Base Header Control

Ready and Data Ready, respectively.

8.3.4.2.2

Virtual Output Queue

The Virtual Output Queue flow control function is done by software, with hardware support.

As described in

Section 8.2.7

, the CSIX Flow Control CFrames received on the Egress IXP2800

Network Processor are passed to the Ingress IXP2800 Network Processor over TXCDAT. The
information is received on RXCDAT and placed into the FCIFIFO. A Microengine reads that

information by

msf[read]

, and uses it to maintain per-VOQ information. The way in which that

information is used is application-dependent and is done in software. The hardware mechanism is

described in

Section 8.5.3

.

8.3.5

Parity

8.3.5.1

SPI-4

DIP-4 parity is computed by Transmit hardware placed into the Control Word sent at the beginning

of transmission of a TBUF element, and also on Idle Control Words sent when no TBUF element is

valid. The value to place into the DIP-4 field is computed on the preceding Data Words (if any),
and the current Control Word.

Advertising