TNETX4090

ThunderSWITCH II9-PORT 100-/1000-MBIT/S ETHERNETSWITCH

SPWS044E ± DECEMBER 1997 ± REVISED AUGUST 1999

flow control

The TNETX4090 supports collision-based flow control for ports in half-duplex mode and IEEE Std 802.3x flow control for ports in full-duplex mode. The flow bit in the SysControl register determines the action that will be taken when back pressure is needed, that is, when there are insufficient resources to handle an inbound packet. The holb bit in the SysControl register determines when back pressure is needed.

DIf flow = 0, packets are discarded at the ingress port when insufficient resources are available to handle them.

DIf flow = 1, ports in half-duplex mode cause collisions to avoid accepting packets, ports in full-duplex mode whose link partners negotiated to accept pause packets will send them; otherwise, packets are dropped. If port 8 is in MII mode, the pause-frame transmission/reception is required to be symmetrical. If in GMII or PMA mode, transmit and receive pause capabilities are negotiated independently.

DWith holb = 0, back pressure is applied to all ports when the number of buffers in the global pool is down to the value in the FlowThreshold register (or half of this value if the packet arrives at a port in gigabit mode). This prevents the reception of more frames at any port until the frame backlog is reduced and the number of free buffers has risen above the threshold. When this happens, back pressure is removed from all ports and packets can be received. The value in FlowThreshold should be set so that all ports can complete reception of a maximum-size frame, that is, each port should have enough time to activate the flow mechanisms without dumping a frame for which reception has started.

DIf holb = 1, back pressure is applied as when holb = 0, or to an individual port when the buffers held in memory for data that arrived on that port is greater than the available pool remaining. Assume that FlowThreshold is set small enough that this mechanism does not affect the back pressure in this mode. An example is:

±When port A's traffic begins to backlog in memory [no matter to what port(s) it is destined], back pressure will be applied when the amount of data backed up is greater than the available pool (about half the buffers are assigned to data from port A). If A's data stays backlogged and if data arriving at port B also begins to backlog in memory, back pressure will be applied to port B when its data amounts to one-fourth of the buffer pool, or half of the half left after port A had back pressure applied. When port A's traffic begins to exit the switch, port A will stay back pressured until its data is equal to one third of the total. As buffers become available, port B will be allowed to consume up to one third of the buffer pool (each backlogged total is compared with the buffers available). In this mode, only the stations that have caused their fair share of buffers to be removed from the available pool will be back pressured.

Setting holb = 1 activates circuitry that attempts to prevent a backlogged conversation stalling other port traffic by using up all the memory buffers. Because the number of buffers charged to a particular port is always compared with the number of buffers left, there is no threshold register for this mode.

56

POST OFFICE BOX 655303 DALLAS, TEXAS 75265

Page 56
Image 56
Texas Instruments TNETX4090 specifications Flow control