Hi,
I'm bumping my head since some days with my Ethercard library and a mod found here :
which, as its name states, allows for transmitting large amount of data by fragmenting into multiple packets.
Of course, I'm talking about TCP.
This works fine, but there are still several bugs, one of which comes when the data to be transmitted is an exact multiple of the buffer. The code sends the last packet and then should send an empty packet with the FIN flag.
But, the connexion stays open for the client, and when monitoring with Wireshark, I don't see this last packet.
I'm wondering if it could be related to the fact that this packet is smaller than the minimum size of an ethernet frame, and could be just ignored by the ethernet switch, or somewhere else on the network.
Did someone dig into this necessity of padding too small packets before transmitting ? I don't see any method doing this in the source code of Ethercard.