How are you using Click?

Jay Lepreau lepreau at cs.utah.edu
Tue May 23 08:38:08 EDT 2000


Dear Eddie and the Clickers,
We're using Click in two ways.  Well, maybe three.

As an experiment, in January or February we put it into the lowest
level of our active network NodeOS to use as configurable "cut-thru"
channels.  The idea with that type of channel is that they don't get
full AN processing via, eg, Java code, but there is some flexibility
in that the "user" can specify a set of OS-provided transforms on the
flow (usually just IP and UDP).  Click ought to work well since it's
much finer grain, but we haven't exercised or evaluated it,
http://www.cs.utah.edu/flux/janos/ .

I forgot to mention the Click feature in our Feb snapshot
announcement, so I announced it to the active networks list this
morning in a new snapshot (see appended).  I expect it will generate
some interest and discussion at the PI meeting starting tomorrow.
Yup, we accept donations as your marketroids.

The other thing we used it for I think I outlined to you some time
ago.  We have an OSDI submission which I bet one of you might have
already reviewed.  I'll send a pointer to the paper when I get a TR
number.  In this work we didn't actually use Click code, but wrote our
own C-based elements, using a slightly different (more aggressive,
finer grain) factoring model.  Click served as a model and 1.0.1
was used for performance comparisons.
http://www.cs.utah.edu/flux/oskit/units.html (only a partial page)
Here's the abstract:
	CpU: Component Composition for Systems Software

	CpU (``C plus Units'') is a new component definition and linking
	language for systems code.  CpU helps make existing C code more
	understandable and reusable by third parties, helps eliminate much of
	the performance overhead of componentization, detects subtle errors in
	component composition that cannot be caught with normal component type
	systems, and provides a foundation for developing future analyses over
	C-based components, such as cross-component optimization.  The
	language is especially designed for use with component kits, where
	standard linking tools provide inadequate support for component
	configuration.  In particular, we developed CpU for use with the
	OSKit, a large collection of components for building low-level
	systems.  CpU is not OSKit-specific, however, and we have implemented
	parts of the Click modular router in terms of CpU components to
	illustrate the expressiveness and flexibility of our language.  This
	paper provides an overview of the CpU language and its applications.

The sort-of-third thing was running Click on bare hardware
using the OSKit.  We have a pointer to you on our page.
http://www.cs.utah.edu/flux/oskit/

You can put these pages up.

-------------
From: Jay Lepreau <lepreau at cs>
To: activenets_wire at ittc.ukans.edu
Subject: New Janos NodeOS snapshot
Date: Tue, 23 May 2000 06:31:20 MDT

We continue the drum beat of announcements, but this one's code.
We've got a new NodeOS snapshot, and a new name for that layer: `Moab'.

In this version:
 * Support for Click cut-through channels.  Cool cut-through channels can be
   created using a special `an_clickchan_create' API call that takes the
   name of a Click router graph configuration file as its protocol spec.
   Click is MIT's modular router; see http://www.pdos.lcs.mit.edu/click/ .

 * The primary focus of recent development was to achieve a more
   optimized, tighter coupling of Moab and the co-located EE.  This
   involved a massive source code reorg and some incompatible interface
   changes.  Not directly related to this goal was one major functional
   change: we now represent packets as contiguous data buffers rather
   than as abstract aggregates.  Finally, we squashed a number of race
   conditions and bugs.

Moab is the lowest Janos layer, essentially follows the draft NodeOS
specification and runs either on bare x86 hardware via the OSKit or on
top of a suitable Unix-like environment: Linux, Solaris, or FreeBSD.
See the README file for full status and details of what is new.

Moab is GPL'ed and can be downloaded at:
  http://www.cs.utah.edu/flux/janos/downloads/nodeos-20000523.tar.gz

Send questions or comments to janos-discuss at flux.cs.utah.edu,
or look at our Web site at http://www.cs.utah.edu/flux/janos/ .

Thanks to Mike Hibler of our Janos team for the good stuff in this release.

Jay Lepreau
University of Utah
----------



More information about the click mailing list