[ns] Problems using TcpApp wit FullTcp
Tarik Alj <firstname.lastname@example.org>
Tue, 12 Dec 2000 10:41:24 -0500 (EST)
I'd be interested in using your code, then I could tell you if it passes
our stuff :). We do not reuse agents but do maintain connections for long time
periods without sending stuff (basically we maintain a tcp connection open for
the duration of a VoIP call but only use it for signalling while establishing
the call and for tearing it up when the call is done). And yeah I have had
problems with "done", Tcp basically was not in CLOSED state when killing the
I also had problems with TcpApp::recv(), trying to delete curdata_ when
it was actually null; this probably had to do with Tcp not being killed
properly... Since TcpApp and FullTcp go hand in hand maybe there could be some
protection implemented there, 2c.
>From the cvs-tree it says that Felix's fix has been incorporated as of revision
1.81, so it should be working well as of ns-2.1b7. Plus a fix to the reassembly
queue in 1.83. Does your work applies to 1.83?
>I've been using full-tcp a lot also, and experienced problems when
>"re-using" the agents (mostly "hung" connections that would never finish).
>Secondly, the packet reassembly code I think is still buggy in that I
>sometimes got the abort near the line that says "this should never
>I did three things:
>1) Added a "closed_ = 0" in reset (this is the same problem Tarik refers
>to). Without this fix, the "Agent/TCP done" proc is a one-shot, called
>only once ever per agent.
>2) Added a "reinitialize" method callable from TCL, when essentially
>returns the agent to a completely reinitialized state (identical almost to
>a newly created agent).
>3) Rewrote completely ReasseblyQueue::add(int, int, int) .. I tried for
>several days to debug it and just could not. I deduced from this that the
>code is much too complicated! I of course think my rewrite is simpler and
>easier to understand (who doesn't?), and will contribute it to whoever
>would like it. I will caveat this with saying the validate suites claim
>some problems after using my code, so it perhaps still has problems but I
>haven't looked into it in detail. There is the chance that with my code
>the test suites are just "different", not "wrong", but I don't know that
>With these fixes, I have run literally 10's of millions of full-tcp
>connections over the last couple of weeks, with no apparent problems.
> -George F. Riley (email@example.com)