IXP1200 Ready Bus Sequencer

Paige, Dale W dale.w.paige at intel.com
Tue Sep 19 18:37:00 EDT 2000


A commonly encountered problem can be encountererd when the ready bus
sequencer is servicing "slow ports" (10/100 ports).  The collection of the
ready flags is asynchronous with the operation of the IX Bus receive state
machine.  You can read the ready flags and find flags that are set even
though a rcv_req has been queued or even completed for the port indicating a
need for service.  This is due to the latency in handling the ready receive
requests.  Imagine a ready bus rxrdy command collecting the flags the IX Bus
cycle before the MAC de-asserts its RxReady signal for the port which is the
subject of an IX Bus read.  We refer to such flags as stale flags.

To deal with stale flags the RxReady flags can be "aged" by holding them for
one or two ready bus sequencer cycles before using them and AND'ing them
with the inverse of a "rcv_req outstanding" bit map.  The RCV_RDY_CNT
associated with a set of RxReady flags is generally used to assist in this
purpose, although the RCV_CNTL_CNT can be used for an even more precise (yet
computationally intricate) tracking of the state of the RxReady flags.
Refer to the Hardware Reference manual section 6.6.4.8, "Interpreting The
Receive Ready Flags", for more information.

On the transmit side you want to read the TxReady flags fairly frequently so
your transmit process can proceed as quickly as possible.

-----Original Message-----
From: Tammo Spalink [mailto:tspalink at CS.Princeton.EDU]
Sent: Tuesday, September 19, 2000 3:16 PM
To: ixp1200 at CS.Princeton.EDU
Subject: IXP1200 Ready Bus Sequencer



Could someone tell me what the proper sequencer program I should use
is?  I am using the evaluation board, I am using only the 8x100Mb
ports, and I do not want any autopush operations.

I am tying to receive across all ports at line speeds. All of the
programs I have tried seem to miss MPKTs or cause other odd behavior.

Thanks,

Tammo




More information about the ixp1200 mailing list