Details
Description
Each socket strucuture inside the encapsulation task has its own static packet that is used to send a close request to the tcp stack. In case it is sent to the tcp stack the socket state transitions to SOCK_WAITCLOSE to indicate that it's waiting for the close confirmation now.
However, when being in that state and a RECEIVE_STOP_IND is received, the socket structure is cleaned up without waiting for the close confirmation. During that cleanup also the static packet is zeroed (which is actually still in the hand of the tcp stack at that time). In the end the tcp stack cannot properly return the close request packet, since its zeroed, which brings the TCP stack to a fatal error state that can only be left by a hard reset.
Attachments
Issue Links
- relates to
-
PSEIS-870 Update to EtherNet/IP Core V2.4.0.6
- Closed