Control and Status Interface - 1.0 English - PG451

Ethernet Offload Engine LogiCORE IP Product Guide (PG451)

Document ID
PG451
Release Date
2025-05-29
Version
1.0 English

The AXI control stream is provided from the Scatter Gather Descriptor to a target device for User Application data. The control data is associated with the MM2S primary data stream and can be sent out of the AXI MCDMA IP prior to, during, or after the primary data packet. Throttling by the target device is allowed, and throttling by AXI MCDMA can occur. The following figure shows an example of how the descriptor User Application fields are presented on the AXI control stream. AXI MCDMA inserts a flag indicating the data type to the target device. This is sent as the first word. For Ethernet, the control tag is 0xA in the four most significant bits (MSBs) of the first word.

Figure 1. Relationship Between Descriptor SOF/EOF Settings and the AXI Control Stream

Note: FLAG(0xA000_0000) is added by the MCDMA IP as prefix before sending APP data.
Table 1. AXI Control Stream Data
Data Bit Description Comments
APP0 31:24 Header Length of packet including transport Header Total header length of the packet (Ethernet header + IPv4 header + TCP/UDP header).
23:0 Total Length of Packet (LSB 24 bits) Maximum supported Packet Length is 16 MB (skb→len) (excluding Ethernet header).
APP1 31:30 Unused  
29:16 MSS Size Maximum supported value is 9000 bytes (excluding the Ethernet header).
15:12 Function Select Function selection to select a particular function to add a header/marker on top of the repetitive buffer length (for future use).
11 UDP Segmentation Offload (0 - ON,1-OFF) NETIF_F_GSO_UDP_L4_BIT
10 TCP Segmentation Offload (0 - ON,1-OFF) NETIF_F_TSO_BIT (reserved for future use)
9 checksum TCP/UDP over IPv4 (0 - ON,1-OFF) NETIF_F_IP_CSUM_BIT
8 is_gso_packet (0 - ON,1-OFF) Identified from GSO segments in the kernel.
7 is_fixed_ip_id (0 - Fixed IP ID, 1- Increment IP ID LSB 14 bits, do not change 15 bit) Driver should enable based on SKB_GSO_TCP_FIXEDID and NETIF_F_TSO_MANGLEID_BIT.
6:2 Reserved/Unused  
1:0 Total length of packet (MSB)  
APP2 31:0 Reserved/Unused  
APP3 31:0 Reserved/Unused  
APP4 31:0 Reserved/Unused  

The S2MM status stream is provided for transfer of the target device status to User Application data fields in the Scatter Gather descriptor. The status data is associated with the S2MM primary data stream. As shown in the following figure, the status packet updates to the app fields of the detected last descriptor (RXEOF = 1) describing the packet. The status data is sent after a flag.

Figure 2. Relationship Between Descriptor SOF/EOF Settings and the AXI Control Stream

Table 2. S2MM Status Stream Data
Data Bit Description Comments
APP0 31 Completed After each packet completion.
30 Start of packet For Header packet or non-GRO packets.
29 End of packet For the last packet when number of chunks have finished or non-GRO packet.
28:24 Sequence number Packet number for GRO packets.
23 Checksum Calculated

0: not calculated/non IPv4 packet

1: Calculated
21 UDP/TCP Checksum Error

0: No Error

1: UDP/TCP Checksum Error
20 Generic Error Packet 1: Error packet received from MAC with > MTU size

0: packet received from MAC is not > MTU

19:16 Reserved  
15:0 Fragment Length Each fragment length.
APP1 15:0 Packet length

Total length of the stitched packet without Ethernet header from SOP to EOP.

Valid only when the end of packet flag is present

31:16 IP Checksum Value
APP2 31:0 Reserved/Unused  
APP3 31:0 Reserved/Unused  
APP4 31:0 Reserved/Unused  
Note: FLAG (0x5000_0000 is added by the EOE IP as a prefix before sending APP data over the S2MM status interface to the MCDMA.