Conversation
the issue solved is tcp window were missing and that was due to: - ACK were sent as soonas packets were received and not when they were consumed by the application layer - pbufs where not cleared correctly and following lwip indications
This reverts commit c2db54f.
|
@Eduardo-Lopes sorry, I forgot to add a part of the fix |
|
@andreagilardoni the DHCP is solved, but still there is connection loss when I stress test. |
|
@Eduardo-Lopes how are you performing stress tests? So that can better address the issue |
|
I just call a Python script that loops requesting the WebServer on C33. |
|
This will take some more time to debug, I think there is a memory leak somewhere I am missing. |
906bab9 to
ec5ea83
Compare
610c14c to
c28b4bd
Compare
|
This problem of instable WebServer is been around for 2-3 years, still not solved? |
|
|
As the title states the objective of this PR is the redesign of the network stack of the portenta C33. This PR aims to solve multiple issues that affected reliability, performance and usability of networking.
The main issues addressed are the follwing:
This issue needs arduino/ArduinoCore-API#218 in order to completely fix memory leaking when using a class that is derived from
arduino::Client.Since this work started as a task to address Ethernet bad performances and behavior it was mainly focused on the ethernet improvement. We were able to achieve a speed of ~80Mbit/s in Rx with some fine tuning of the libraries (this require high ram usage) by means of Rx zero copy capabilities of Ra6m5 controller. Wifi drivers were not taken into consideration that deeply, but there is room for improvement, i.e. by reducing the number of
memcpyperformed on buffers.Furthermore some aspects of the integration of lwip have been improved:
This issue is currently on draft, since there are still some imperfections, which are addressed in TODO and FIXME comments. Some will be addressed before this PR is merged and others are going to provide a path to follow for future improvements.