Hi @kerryzhou
Thank you for your response.
I am using the latest SDK version:

From the screenshot you sent, I realised that I don't want to use the cache (I cannot combine ENET transactions before sending them as the project's ENET transmission requirements are real-time).
The reason I was asking about the speed of ENET is because I currently cannot transmit and receive immediately after each other in my project. If I include an SDK delay of 40us between the transmit and receive, then it works.
I tried checking the enet_data_error_stats_t struct, but it seems that the values aren't set properly in ENET_GetRxErrBeforeReadFrame() of fsl_enet.c. When this function is called (when the receive fails), then none of the following if statements test true:

Just below these if statements is a 'break' statement that exits the do-while loop. The function exits after hitting this break.
Note: I am using the M4 to do Ethernet communication. This is a multi-core project, with the M7 as the master and the M4 as the slave.