[Click] New TCP connection
Eddie Kohler
kohler at cs.ucla.edu
Tue Oct 26 01:57:47 EDT 2004
Hi
Indian Mogul wrote:
> Hi Eddie,
>
> I am stuck in some conceptual packet flow in
> click implementation. I have the following packet flow
> diagram inside click:
>
> Incoming TCP connection (from client) -> TCP
> Termination (by click) - Packet buffering (click) ->
> payload analysis (click) -> New TCP connection
> (click->server)
>
> 1. Suppose all the nodes of the above packet flow
> diagram are implemented as click elements.
OK -- but no current Click elements will terminate or initiate TCP connections.
(There are a couple elements in elements/local that sort of do this, but not
correctly.)
> 2. How can the element "Packet buffering" signal
> "payload analysis" that packets are available and
> payload analysis should start?
By calling a function on it? This isn't terribly hard, just supply the "packet
buffering" element with the name of the "payload analysis" element as a
parameter. Then "packet buffering" can call "pl anal" directly.
> 3. How can element "payload analysis" signal to
> "Packet buffering" that a decision on payload content
> has been made and no more packets need to be buffered?
Same thing. See the interaction between RED and Queue for an example (RED's
QUEUES argument); there are other examples.
> 4. While steps (3) & (4) are continuing , click
> element " TCP Termination " should be able to recv
> packets so that click does not get held up in (3) &
> (4)
> (basically need to decouple the two)
Then (3) and (4) must not run for too long. Click generally runs
single-threaded; it is a bad idea for any individual Click "task" to take too long.
> 5. How to reinitiate "New TCP connection" when the
> packet needs to be sent to the server independently of
> the state of any of the above elements?
Hmm, not sure how to answer this. See, Click doesn't run like a set of
"processes". It's not threaded, for example, it's event driven. Long-running
tasks are generally divided into multiple task executions. And the elements
have to do this explicitly.
> Being a newbie I am just diving, swimming & drowning
> in click. Your help would be greatly appreciated.
Good luck!!
Eddie
> Thanks,
> IM
>
>
>
> _______________________________
> Do you Yahoo!?
> Declare Yourself - Register online to vote today!
> http://vote.yahoo.com
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
More information about the click
mailing list