Fibre Channel over Ethernet (FCoE) allows Fibre Channel traffic to be encapsulated over a physical Ethernet link. FCoE and FIP frames use a unique EtherType so that FCoE traffic and standard Ethernet traffic can be carried on the same link.
Classic Ethernet is a best-effort protocol, which means that in a congested network, Ethernet discards packets and relies on higher level protocols to provide retransmission and other reliability mechanisms.
Fibre Channel traffic requires a lossless transport layer; as a data storage protocol, it is unacceptable to lose a single data packet. Native Fibre Channel implements a lossless service at the transport layer using a buffer-to-buffer credit system.
Ethernet links on Cisco NX-OS switches provide two mechanisms to ensure lossless transport for FCoE traffic: link-level flow control and priority flow control.
IEEE 802.3x link-level flow control allows a congested receiver to signal the far end to pause the data transmission for a short period of time. The pause functionality is applied to all traffic on the link.
The priority flow control (PFC) feature on Cisco NX-OS platforms applies pause functionality to specific classes of traffic on the Ethernet link. For example, PFC can provide lossless service for the FCoE traffic and best-effort service for the standard Ethernet traffic using IEEE 802.1p traffic classes.