Flow Control; Description; Operational Characteristics; Transmit Mac - Broadcom NetXtreme/NetLink BCM5718 Series Programmer's Manual

Table of Contents

Advertisement

BCM5718 Programmer's Guide

Flow Control

Description

The Ethernet controller supports IEEE 802.3x flow control. Flow control is a switched Ethernet capability, where
link partners may pause traffic. The 802.3x flow control specifies that a MAC sublayer may transmit pause
frames. The pause frames instruct the MAC's link partner to wait a specified amount of time, before sending
additional frames. This delay provides the MAC time to free packet buffers. Conversely, the MAC sublayer must
also accept/receive pause frames. Flow control is used by switches and bridges to prevent clients of dissimilar
speeds from exhausting switching packet buffers. Clients and servers may use flow control for similar reasons.
A very important requirement is that both link partners must share a full-duplex connection for flow control to be
enabled. IEEE 802.3x flow control does not operate on a half-duplex connection. More information on flow
control can be found in
Appendix A: "Flow Control," on page
The following architectural blocks are integral to flow control:

Transmit MAC

Receive MAC
Statistics Block
PHY Auto-negotiation
PHY Auto-Advertise

Operational Characteristics

The Ethernet controller implements pause functionality using Xon and Xoff states. The MAC will extract a pause
quantum from a pause control frame. Then, the MAC will configure its internal timer with the pause_time
specified by the link partner. Frames that are currently in the transmit engine will be completed before the
transmit engine is inhibited. The MAC has moved flow control into a Xoff state once the transmit engine is
inhibited. Note that the transmit engine is not completely disabled since the IEEE 802.3 specification stipulates
that MAC control frames should not be paused.
One of the following conditions moves the Ethernet controller into an Xon state:
Link partner sends a pause frame with pause_time = 0.
Internal pause timer expires.
Transmit MAC
The transmit MAC is responsible for sending flow control frames. Software enables the transmit MAC to send
flow control frames by setting the Enable_Flow_Control bit in the Transmit_MAC_Mode register (see
MAC Mode Register (offset: 0x45C)" on page
transmit MAC will not generate flow control frames. The MAC_RX_MBUF_Low_Water_Mark register value
triggers PAUSE frames to be transmitted when a threshold value is passed. Software may alter the watermark
to tune system performance.
Broadcom
®
January 29, 2016 • 5718-PG108-R
574.
319). When software clears the Enable_Flow_Control bit, the
Flow Control
"Transmit
Page 223

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the NetXtreme/NetLink BCM5718 Series and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Netxtreme/netlink bcm5717Netxtreme/netlink bcm5718Netxtreme/netlink bcm5719Netxtreme/netlink bcm5720

Table of Contents