RE: IXP1200 Ready Bus Sequencer
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@CS.Princeton.EDU] Sent: Tuesday, September 19, 2000 3:16 PM To: ixp1200@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
participants (1)
-
Paige, Dale W