Bugzilla – Full Text Bug Listing |
Summary: | Closed master TCP socket after failed connection handshake | ||
---|---|---|---|
Product: | dce | Reporter: | Matías Richart <matis18> |
Component: | other | Assignee: | Hajime Tazaki <tazaki> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | ns-bugs |
Priority: | P5 | ||
Version: | unspecified | ||
Hardware: | PC | ||
OS: | Linux | ||
Attachments: |
Test case
Patch |
Description
Matías Richart
2015-04-09 12:13:05 EDT
Thanks for the report. Is it possible to provide 1) a patch (you're not sure), and 2) a minimum reproducible simulation scenario of the issue. (In reply to Hajime Tazaki from comment #1) > Thanks for the report. > > Is it possible to provide 1) a patch (you're not sure), and 2) a minimum > reproducible simulation scenario of the issue. Hi Hajime. I attach an example as a patch. It is a simple wireless scenario where I move nodes so as to be able to receive the SYN packet but not the other packets of the three-way handshake. The applications consist on a client and a server, where the server makes a select and then an accept. The problem is, as I said in the report, that the master socket is closed when the connection fail and then the select unblocks and the accept fails. I also attach the patch. It is a patch in ns3 and not in dce. Created attachment 2056 [details]
Test case
Created attachment 2057 [details]
Patch
(In reply to Matías Richart from comment #2) > (In reply to Hajime Tazaki from comment #1) > > Thanks for the report. > > > > Is it possible to provide 1) a patch (you're not sure), and 2) a minimum > > reproducible simulation scenario of the issue. > > Hi Hajime. > I attach an example as a patch. It is a simple wireless scenario where I > move nodes so as to be able to receive the SYN packet but not the other > packets of the three-way handshake. > The applications consist on a client and a server, where the server makes a > select and then an accept. > The problem is, as I said in the report, that the master socket is closed > when the connection fail and then the select unblocks and the accept fails. > > I also attach the patch. It is a patch in ns3 and not in dce. Thanks. I will look at and try the script and patch. Do you think it'll not happen only with ns-3 scenario (without dce) ? if yes, it would be nice to have a pure ns-3 script (example/test-case) to reproduce this issue. (In reply to Hajime Tazaki from comment #5) > (In reply to Matías Richart from comment #2) > > (In reply to Hajime Tazaki from comment #1) > > > Thanks for the report. > > > > > > Is it possible to provide 1) a patch (you're not sure), and 2) a minimum > > > reproducible simulation scenario of the issue. > > > > Hi Hajime. > > I attach an example as a patch. It is a simple wireless scenario where I > > move nodes so as to be able to receive the SYN packet but not the other > > packets of the three-way handshake. > > The applications consist on a client and a server, where the server makes a > > select and then an accept. > > The problem is, as I said in the report, that the master socket is closed > > when the connection fail and then the select unblocks and the accept fails. > > > > I also attach the patch. It is a patch in ns3 and not in dce. > > Thanks. I will look at and try the script and patch. > > Do you think it'll not happen only with ns-3 scenario (without dce) ? > if yes, it would be nice to have a pure ns-3 script (example/test-case) to > reproduce this issue. It only happens with dce. The problem is that the dce socket has not been created at this time but the ns3 socket has. So when the socket is closed, it generates the dce master socket to be closed. If you don't want to change anything in ns3 perhaps a better solution is to change in dce when the socket is created. For example, creating it when the function ConnectionRequest is called, I haven't study this option. |