Hello,
I am testing DPAA2 on LS1088A board, taking references from the U-boot driver, and setting up everything successfully. The following are the logs:
DPMAC7@qsgmii Waiting for PHY auto negotiation to complete...... done
duplex: FULL Duplex speed: 1000
DPMAC link status: 1 - up
DPNI link status: 1 - up
I can set up the interface and receive the ARP response, but not receive any of the IP packets. Here are the statistics
DPNI counters ..
DPNI_CNT_ING_ALL_FRAMES= 533
DPNI_CNT_ING_ALL_BYTES= 37830
DPNI_CNT_ING_MCAST_FRAMES= 523
DPNI_CNT_ING_MCAST_BYTES= 37230
DPNI_CNT_ING_BCAST_FRAMES= 9
DPNI_CNT_ING_BCAST_BYTES= 540
DPNI_CNT_EGR_ALL_FRAMES= 10
DPNI_CNT_EGR_ALL_BYTES= 588
DPNI_CNT_EGR_MCAST_FRAMES= 0
DPNI_CNT_EGR_MCAST_BYTES= 0
DPNI_CNT_EGR_BCAST_FRAMES= 7
DPNI_CNT_EGR_BCAST_BYTES= 294
DPNI_CNT_ING_FILTERED_FRAMES= 0
DPNI_CNT_ING_DISCARDED_FRAMES= 0
DPNI_CNT_ING_NOBUFFER_DISCARDS= 0
DPNI_CNT_EGR_DISCARDED_FRAMES= 0
DPNI_CNT_EGR_CNF_FRAMES= 0DPMAC counters ..
DPMAC_CNT_ING_BYTE=431
DPMAC_CNT_ING_FRAME_DISCARD=425
DPMAC_CNT_ING_ALIGN_ERR =426
DPMAC_CNT_ING_BYTE=431
DPMAC_CNT_ING_ERR_FRAME=444
DPMAC_CNT_EGR_BYTE =445
DPMAC_CNT_EGR_ERR_FRAME =441
Based on the counters looks like there is a misalignment in the buffer or there is buffer overflow for ingress packets. But I am not able to figure out the issue.
I need some explanation on the potential issues.
The implement of ping in u-boot is using NETLOOP to transmit and receive ARP packets, So the board can receive ARP packets.
There is a single thread function main_loop to parse the commands in u-boot, it cannot handle ICMP packets, so it cannot receive IP packets.