I'm currently evaluating the network performances of the Cortex-M4 core in the Vybrid VF6 SoC. For that I'm running a TCP server on MQX to receive any incoming tcp packet. A client sends packets to the server and records the debit. The server is a modified version of the eth-to-serial example.
The problem is that the TCP rx buffer isn't flushed by the software (I think), as a result the tcp window size decreases until I get a "TCP WINDOW FULL" packet . Increasing the size of the buffer using the OPT_RBSIZE option isn't a solution since the error is still present but appears later. The measured debit is very low compared to what I could expect (about 10 times less).
Do you have any idea why the buffer isn't emptied fast or hint about the origin of this error. Please find attached the modified demo.c file and the wireshark capture of the packets (192.168.0.44 is the Vybrid).
Original Attachment has been moved to: mqx_capture.zip
Original Attachment has been moved to: demo.c.zip