[Click] New element: icmpipencap, a general icmppingencap
Eddie Kohler
kohler at cs.ucla.edu
Sun Feb 28 15:52:07 EST 2010
Hi guys!
Thanks very much for this element. I'd definitely like to add it to the
repository. However, I have some concerns that if you could address, it would
be great.
1. Element documentation in the header file is missing. Even just one
paragraph plus the use case (e.g. "=c ICMPEncap(SRC, DST, TYPE [, CODE])".)
2. The _icmp_type and _icmp_code members should be read using IPNameInfo, so
users can give symbolic names. E.g.:
int32_t icmp_type;
... "TYPE", cpkP+cpkM, cpNamedInteger, NameInfo::T_ICMP_TYPE, &icmp_type, ...
The CODE requires special handling since you need to know the TYPE before
parsing the CODE. Take a look at ICMPError for an example.
3. This is the big one: The current element adds a clcik_icmp_echo header.
But this header is only correct for TYPE echo or echo-reply. Other ICMP types
add a different header, often with a different length. For example tstamp and
tcstamp-reply have longer ehaders. See include/clicknet/icmp.h for more
examples. Either the element should be changed to add the appropriate header
for _type, or the configure() method should return an error on an
inappropriate TYPE.
Thanks very much,
Eddie
Braem Bart wrote:
> Dear list,
>
> Attached you will find an element our students (Jens De Wit and Nico Van Looy) produced while working on their FireSim project, the Firewall Simulation in Click as presented on SyClick.
> The element allows transmitting ICMP packets with all types of codes and types, which makes this element more general than ICMPPingEncap. It is a bit the ICMP alternative to UDPIPEncap.
> The element code is largely based on ICMPPingEncap so Jens and Nico suggested just patching ICMPPingEncap with the new behaviour, although of course the name then does not cover the contents of the element.
> Jens promised to write a unit test with the testie framework, so this can be expected as well.
>
> best regards,
> Bart
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
More information about the click
mailing list