MACsec Intel® FPGA IP User Guide

ID 736108
Date 10/02/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.2.1. Packet Parser

The Packet Parser receives and parses packets from the AX-ST user interface, determines the packet type and extracts information. Packet are passed through the packet parser transparently, together with the extracted information to be processed by the packet classifier.

The Packet Parser parses the first 64B from each packet data payload in order to extract all the necessary header fields for MACsec processing. Since the packet parser is supporting packet interleaving in 64 bytes word (when data width = 512b) from multiple ports/streams, the first 64B data payload of one packet can be separated across a few cycles (for example, 2nd packet in cycle 3 and 6) depending on the number of supported ports/streams.

The Packet Parser buffers 2 entries x 64B bytes of packet data payload from each port/stream to accumulate enough 64B data payload for processing. For example, in cycle 3 below, the 2nd packet from port/stream 2 begins at the last segment of cycle 3 and the subsequent packet data payload only comes later at cycle 6.

There is a fixed latency applied to the request passing through the Packet Parser due to the support of 64B word interleaving between port/stream requests. This fixed latency is dependent on the number of ports/streams supported by the Parser. The number of ports/streams supported in the Parser can be configured through parameters.
Table 39.  Packet Parser Interleaving from Multiple Ports/Streams
AXI-ST Cycle 0 Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6
TID0 (TID[5:0]) 0 2 3 2 0 3 2
TVALID 1 1 1 1 1 1 1
TLAST 0 0 0 1 1 1 1
TKEEP All 1 All 1 All 1 All 1 All 1 All 1 All 1
Tuser_last_segment<N> (N from 7 to 0) All 0 All 0 All 0 0100_0000 1000_0000 1000_0000 1000_0000
TDATA[127:0] Data, Ethertype, SMAC, DMAC Data, Ethertype, SMAC, DMAC Data, Ethertype, SMAC, DMAC Data Data Data

Data,

Ethertype, SMAC[47:16]

TDATA[255:128] Data Data Data Data Data Data Data
TDATA[383:256] Data Data Data Data Data Data Data
TDATA[511:384] Data Data Data SMAC[15:0], DMAC, Data Data Data Data