[Click] Bigint, List, packet annotations
Eddie Kohler
kohler at cs.ucla.edu
Mon Jul 7 19:47:43 EDT 2008
Hi all,
Some notable updates to Click's core.
* The Bigint class provides access to some simple multiple-precision integer
arithmetic functions, including multiply and divide.
http://www.read.cs.ucla.edu/click/doxygen/classBigint.html
* The List template is a doubly-linked list (as requested a while ago by
Joonwoo Park and others; Joonwoo also had a patch). See ARPQuerier for an
example of its use.
http://www.read.cs.ucla.edu/click/doxygen/classList.html
* Click's annotation system has been updated to allow named annotations and
runtime-specified annotation offsets. For example:
AnnotationInfo(PAINT2 17 1); // define a 1-byte "PAINT2" annotation
// at annotation byte 17
AnnotationInfo(CHECK_OVERLAP PAINT PAINT2 DST_IP);
// check that the named annotations don't overlap
... -> Paint(2) -> ... // sets PAINT anno to 2
... -> Paint(ANNO PAINT, COLOR 2) -> ... // also sets PAINT anno to 2
... -> Paint(ANNO PAINT2, COLOR 10) -> ... // sets PAINT2 anno to 10
See the Paint family for some examples of how this is used.
As part of this change, the Packet::user_anno() functions have been deprecated
in favor of new Packet::anno() functions. The new versions take byte offset
arguments uniformly.
http://www.read.cs.ucla.edu/click/doxygen/classPacket.html
Thanks very much to Cliff Frey.
Eddie
More information about the click
mailing list