In this chapter
General operation
The 100 Gbit/s MAC, the 40 Gbit/s MAC, the 10 Gbit/s / 25 Gbit/s MAC, the 10 Gbit/s MAC and the 1 Gbit/s / 10 Gbit/s MAC are based on the IEEE 802.3 standard, and are optimized for line-speed throughput for receive and transmit operations used in the SmartNICs.
Link state
The current state of the Ethernet link is indicated in the NtInfoPort_s data structure (see DN-0449), and linkDownCounter (see Port Counters) counts the number of times the link has been down.
Length handling
The Ethernet frame length, without preamble/SFD but including CRC, determines MAC handling as:
- Length ≤ 16 bytes: The frame is discarded, and counted as discarded in a
MAC counter.Note: NT200A01 running at 2 × 100 Gbit/s ignores all frames shorter than 64 bytes.Note: For NT200A02, NT200A01, NT80E3-2-PTP, Intel® PAC with Intel® Arria® 10 GX FPGA, NT100A01, NT50B01, NT40A01, NT40E3-4-PTP and NT20E3-2PTP running at 10 Gbit/s, frames between 17 bytes and 63 bytes are handled according to best effort.Note: The discard size can be configured using the DiscardSize parameter in the ntservice.ini file (see DN-0449).Note: DiscardSize has no effect for NT200A01 running at 2 × 100 Gbit/s.
- Length > 10,000 bytes: The frame is hard-sliced to 10,000 bytes, and
forwarded with a hard-slice indication.
The wire length retrieved from the standard packet descriptor using the NT_NET_GET_PKT_WIRE_LENGTH macro (see DN-0449) is 10,000 bytes.
Error handling
Different kind of errors can occur for an Ethernet frame, and the handling of these is:
- Code violation (CV) error: If illegal codes are received from the PHY, the frame is forwarded with a CV error.
- CRC error: The Ethernet frame CRC is verified, and if a CRC error is detected, the frame is forwarded with a CRC error.
Frame forward format
Received Ethernet frames are forwarded by the MAC without the preamble/SFD but with the CRC.