[Click] Newbie question: splitting flows and merging them later
Eddie Kohler
kohler at cs.ucla.edu
Wed Feb 22 03:15:21 EST 2006
Hi Anirudh,
This question actually has a very simple answer. For push elements, you can
simply join the streams however you want. In fact, your configuration
*already* does this, since both the "ipc[0]" path and the "ipc[1]" path
converge at the "route" element's input.
In a pull path you must use a scheduler element, such as RoundRobinSched, to
join streams,
Eddie
Anirudh wrote:
> Hi,
>
> I'm new to click, and I couldnt find any documentation on how to
> actually split a "flow" and merge it later. I have a small routing
> table and a few error checks, which, in order, are :
> - check IP header/cksum
> - check TCP header/cksum
> - check UDP header/cksum
> - check ICMP header/cksum
> - check expired TTL etc.
>
>>From the man pages, I see that CheckTCPHeader *expects* a TCP/IP
> packet (similarly for CheckUDPHeader), so I have something like this:
>
> *******
> ...
>
> //For simplicity, LinearIPLookup
> route :: LinearIPLookup (10/8 0, 0/0 1);
>
> //Read from dump
> FromDump(a.dump, STOP true) -> checkIPHeader
> -> ipc :: IPClassifier(tcp, udp);
>
> ipc[0] -> checkTCP
> -> CheckICMPHeader
> -> dt :: DecIPTTL
> -> GetIPAddress(16)
> -> route;
>
> ipc[1] -> checkUDP
> -> CheckICMPHeader
> -> dt :: DecIPTTL
> -> GetIPAddress(16)
> -> route;
>
> ...
>
> *******
>
> Now, how do I 'merge' the stream of packets split by IPClassifier so I
> dont have to replicate the elements coming after the TCP or UDP
> checks?
>
> Any help at all will be appreciated.
>
> Thanks,
> Anirudh
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
More information about the click
mailing list