Open hbhasker opened 4 years ago
A friendly reminder that this issue had no activity for 120 days.
This issue has been closed due to lack of activity.
There are TODOs still referencing this issue:
Search TODO
A friendly reminder that this issue had no activity for 120 days.
The S/R framework discovers endpoints by following the fd table in gvisor or from the endpoints in danglingEndpoints map. But endpoints which are in a passive handshake and not yet delivered to accept queue of a listening socket are not tracked anywhere. Which means that across a S/R such endpoints are not saved.
Further on Resume we assume that any connection in synRecv state was an active connect which is incorrect and it also proceeds to bind() which can fail as the listening socket may already have bound the endpoint. We need a different way to restore such endpoints.