Hi TI Experts,
We are running Linux 5.10.100 and SDK 8.2 with some customizations like adding some Vlans to CPSW on the TDA4. We met an issue after setting up a Vlan in both A72 Linux and CPSW. The action we've done is trying to copy files from a PC to the A72 side using scp. It stuck, and we have to force exit the scp. But if coping files out form A72 side to PC it succeed. By capturing the ethernet packets from both sides(the PC and the A72 side), we found the issue: PC and A72 have negotiated MTU = 1500 and TCP MSS = 1460, when sending files from A72 to PC, TCP packets received successfully by PC with TCP packet length = 1460 (ethernet frame length = 1518), but when sending from PC to A72, the TCP packets containing the data with length 1460 did not appear at the A72 side but can be found at the PC side, meaning the A72 or CPSW have dropped the TCP packets for some reason.
A further test using UDP shows the same, and we found that if the whole frame length of the UDP packet is bigger than 1514(UDP packet length = 1468), A72 side could not receive the packet either. PC will seperate the UDP packet to multiple IP fragments when frame length > 1518, and A72 side could not receive any packets other than the last one which length is less than 1514.
We think that seems the PC and A72 linux will not consider the Vlan tag when calculating the MTU, but seems the CPSW will do so? So if the Vlan is enabled, seems the IP fragmentation operations for Linux and CPSW are different and causing the issue.
Would you please help confirm if that is an issue or just a mis-configuration in our project? If it is an issue, is there any workaround we could take to solve it?
Thank you very much and best regards!
Hui Baorui