[Click] Click 1.6.0 released

Eddie Kohler kohler at cs.ucla.edu
Tue Sep 18 17:32:17 EDT 2007


All,

Click 1.6.0 is released.  Thanks to all who contributed.

Eddie


Version 1.6.0   18.Sep.2007

* Drivers

** The Click drivers, language, and tools support named configuration
    parameters, which can be set in configuration files or on the command
    line.  See 'conf/test-ping.click' for an example.

** click-install provides a --cpu option, to force Click to run on a given
    CPU (Beyers Cronje).  Also, click-install provides a --user option,
    setting the uid/gid owning the Click file system.

** Linux 2.6.19 support.

** Improved support for recent FreeBSD kernels (Bruce Simpson).

** ns-2.30 support, and ns-2.29 support removed.  You will need to apply
    the ns-2.30-patch with this distribution; old patches are obsolete.

** Improved stability for e1000-5.x drivers (Kevin Lahey), e1000-6.x
    drivers (Beyers Cronje, Adam Greenhalgh, Joonwoo Park), and e1000-7.x
    drivers (Max Poletto, Roman Chertov).

** Improved stability for Linux kernel module.

** Improved SMP Click.  For instance, removed NotifierQueue race
    conditions.  Thanks very much to Joonwoo Park.

** click-viz is integrated into click-pretty.

** click-fastclassifier and click-devirtualize work.

** click-align's output is smaller; it generates output only for elements
    that require alignment information.  The need for alignment information
    is indicated by the character A in flags().

* Elements

** Linuxmodule elements FromDevice and PollDevice have a TIMESTAMP keyword
    argument, to force timestamps at device receive time.  Recent kernels
    don't timestamp received packets most of the time.

** Linuxmodule FromDevice, PollDevice, and ToDevice support the QUIET
    keyword argument.  Another change makes it easier to use these elements
    when there are many devices with the same Ethernet address.  Thanks to
    Cliff Frey.

** Greatly improved IPsec elements from Dimitris Syrivelis and Ioannis
    Avramopoulos.

** ToIPSummaryDump supports MD5 checksums (Vern Paxson request).

** Add support for PlanetLab Privileged Operations (proper) packet sending
    and receiving (thanks, Mark Huang).

** Script: The "run" handlers accepts arguments, which the script can refer
    to as $args, $1, $2, and so forth.  "goto exit" works.

** User-level FromDevice's SNIFFER argument now works.  SNIFFER false
    automatically installs a firewall rule that prevents the kernel from
    processing FromDevice's packets.  When Click stops, the rule is
    automatically removed.  Works only on Linux at the moment.

** More handlers for UDPIPEncap, ARPQuerier, ICMPPingSource, ICMPPingEncap,
    and others.

** Linuxmodule: Add experimental FromUserDevice and ToUserDevice elements,
    for communicating between kernel configurations and user level via /dev.
    Only available if --enable-experimental was supplied to configure.
    Thanks to Roman Chertov.

** Bug fixes, performance improvements, and extensions to many elements,
    including AddressTranslator, AverageCounter, BandwidthMeter,
    BeaconSource, ControlSocket, DSRRouteTable, DirectIPLookup, Discard,
    FromDevice, FromDump, FromNetFlowSummaryDump, FromSimDevice,
    HostEtherFilter, ICMPPingRewriter, ICMPRewriter, IP6Mirror,
    IPClassifier/IPFilter, IPEncap, IPMirror, IPNameInfo, InfiniteSource,
    KernelTap, KernelTun, LinuxIPLookup, RangeIPLookup, RawSocket, Reframe,
    Script, SetUDPChecksum, SimpleQueue, Socket, ToDevice, ToDump, ToHost,
    ToSimDevice, UDPIPEncap, UMLSwitch.

* Internals

** Initial and very preliminary support for multithreading at user level.
    If one of your elements plans to fork a new thread, compile Click with
    --enable-user-multithread.  Most of Click is still not thread safe, but
    this will fix some common problems, such as Packet reference counts.

** Introduce new cp_va_kparse() functions with a better interface than
    cp_va_parse().  Document confparse functions.

** Document and rewrite EWMA classes.

** Important bug fixes in Task will make notification more stable.

** Remove some deprecated member functions in String and Element
    (notify_ninputs() and notify_noutputs()).

** Fix bugs in lexing, notification, and Linux kernel module locking and
    SMP support.  Thanks especially to Joonwoo (Jason) Park for SMP patches
    and bug reports.

** String and StringAccum objects use specialized memory allocation
    functions, allowing very large Strings and StringAccums in kernel space.
    So do Queues.

** Compilation fixes for x86_64.  Thanks, Puneet Sood.

** A better hashcode() system uses templates and overloading, reducing the
    chance that an operator bool() will mistakenly be used as a hashcode().
    Thanks, Andrew Ratin.

** Use operator unspecified_bool_type() rather than operator bool() for
    similar reasons.

* Other bug fixes and improvements.

* Thanks to Nicola Arnoldi, Ioannis Avramopoulos, Salman Abdul Baset, Koen
   Beel, Kristian Beilke, Torquato Bertani, John Bicket, Bart Braem,
   Vladimir Bychkovsky, Marco Canini, Srivas Chennu, Szymon Chachulski,
   Roman Chertov, David Claffey, Beyers Cronje, Peter De Cleyn, Norbert Egi,
   Nick Feamster, Cliff Frey, Matt Gordon, Adam Greenhalgh, Mark Huang,
   Mathias Jeschke, Azeem Khan, Christian Kreibich, Mathias Kurth, Kevin
   Lahey, lastlijing yahoo com cn, Pierre-Emmanuel Le Roux, Nicolas Letor,
   Joe Maldonaldo, David Moore, Tim Morgan, Jim Mott-Smith, Jens Mueller,
   Arvid Nilsson, Joonwoo (Jason) Park, Vern Paxson, Max Poletto, Vivek
   Raghunathan, Roberto Riggio, Robert Ross, Bruce Simpson, Puneet Sood,
   Dimitris Syrivelis, Seiichi Tatsukawa, Andy Van Maele, Frederic Van
   Quickenborne, Wim Vandenberghe, Rob Wachol, and Mike Wilson, and anyone
   we inadvertently forgot to mention here.



More information about the click mailing list