Este problema se debe a la comunicación entre el motor de descarga de suma de comprobación RX y los descriptores extendidos. Cuando se reciben paquetes después de calcular la suma de comprobación, el estado se actualiza al descriptor extendido 4th RX en el controlador Ethernet de Linux.
Cuando se produce este problema, esta actualización de estado se vuelve lenta y se atasca, lo que reduce el rendimiento de la red.
Para solucionar este problema, utilice el siguiente comando para habilitar el modo de cadena desde uboot.
<board_uboot_cmd_prompt> stmmaceth=chain_mode:1
Además, deshabilite los descriptores extendidos o el motor de descarga de suma de comprobación RX para evitar este problema. Para esto, descargue el net-stmmac-workaround-for-network-performance.zip adjunto que contiene dos parches y aplíquelo al kernel de Linux usando el siguiente comando.
cd linux-socfpga
parche -p1 < 0001-net-stmmac-workaround-for-network-performance-reduci.patch
parche -p1 < 0001-net-stmmac-do-not-use-extended-descriptors-for-GMAC.patch