[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] Problems using TcpApp wit FullTcp



George,

	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 
agent.
	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?

Cheers,
 
>
>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
>happen".
>
>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
>yet.
>
>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
>
>					
>			-George F. Riley ([email protected])
>


-Tarik