Skip to content
Extraits de code Groupes Projets
Valider 0ca5945f rédigé par eddietwo's avatar eddietwo
Parcourir les fichiers

expand NEWS and the like for 1.3pre1; bump version number to 1.3pre1

parent 1095a8f6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -15,7 +15,8 @@ Eddie Kohler ...@@ -15,7 +15,8 @@ Eddie Kohler
kohler@icir.org kohler@icir.org
design, core, language, Linux /proc interface, Linux kernel module, design, core, language, Linux /proc interface, Linux kernel module,
standard elements, tools, documentation, distribution, IP rewriting standard elements, tools, documentation, distribution, IP rewriting
elements, ClickController, other elements, Tasks, Linux 2.4, clickfs elements, ClickController, other elements, Tasks, Linux 2.4, clickfs,
adaptive task scheduler
Mazu Networks, Inc. Mazu Networks, Inc.
http://www.mazunetworks.com/ http://www.mazunetworks.com/
...@@ -26,6 +27,10 @@ rtm@lcs.mit.edu ...@@ -26,6 +27,10 @@ rtm@lcs.mit.edu
design, Ethernet, IP, Linux kernel module, radio elements, Linux kernel design, Ethernet, IP, Linux kernel module, radio elements, Linux kernel
patches, IP router configuration, element documentation, other elements patches, IP router configuration, element documentation, other elements
Michael Neufeld
Michael.Neufeld@cs.colorado.edu
NS network simulator integration
Massimiliano Poletto Massimiliano Poletto
maxp@mazunetworks.com maxp@mazunetworks.com
IP rewriting elements, stride scheduling element, round robin scheduler IP rewriting elements, stride scheduling element, round robin scheduler
...@@ -38,6 +43,10 @@ Nickolai B. Zeldovich ...@@ -38,6 +43,10 @@ Nickolai B. Zeldovich
kolya@lcs.mit.edu kolya@lcs.mit.edu
Linux 2.4, BSD kernel module Linux 2.4, BSD kernel module
Petros Zerfos
pzerfos@cs.ucla.edu
adaptive task scheduler
Thanks to: Thanks to:
...@@ -66,7 +75,7 @@ yipal@pdos.lcs.mit.edu ...@@ -66,7 +75,7 @@ yipal@pdos.lcs.mit.edu
IP reassembler, other changes IP reassembler, other changes
Thanks for patches and comments: Thanks for patches and comments (not a complete list):
Joe Elliott Joe Elliott
joe@inetd.com joe@inetd.com
......
...@@ -12,10 +12,8 @@ A. Yes. ...@@ -12,10 +12,8 @@ A. Yes.
Q. The Click Linux patch does not apply cleanly. Q. The Click Linux patch does not apply cleanly.
A. You need a specific version of Linux. We currently distribute pactches A. You need a specific version of Linux. We currently distribute pactches
for Linux 2.2.18, 2.2.19 [patch also works for 2.2.20 and 2.2.21], and for Linux 2.2.18, 2.2.19 [patch also works for 2.2.20 and 2.2.21],
2.4.4. Most of the patch will apply no matter what version of Linux 2.2 2.4.18, and 2.4.20. These patches may also work for later versions.
you use. The problems are with device drivers, which seem to change a
lot between versions.
Q. How fast can Click route packets? Q. How fast can Click route packets?
...@@ -44,13 +42,6 @@ A. As a kernel thread. It continually loops over a list of things to do, ...@@ -44,13 +42,6 @@ A. As a kernel thread. It continually loops over a list of things to do,
will get run, but not as often as on a machine without Click. will get run, but not as often as on a machine without Click.
Q. Is there a version of Click for Linux 2.4?
A. Click now compiles under a patched version of Linux 2.4! (We supply the
patch.) Your mileage may vary; we still use Linux 2.2 for most of our
work.
SECTION 2: QUESTIONS ABOUT POLLING SECTION 2: QUESTIONS ABOUT POLLING
---------------------------------- ----------------------------------
......
Click NEWS Click NEWS
Version 1.2.5 Version 1.3pre1
* Incompatible changes
** The 'Queue' element is now a NotifierQueue. To access a queue without
notification, use 'SimpleQueue'.
** The semantics of IPFilter 'deny' arguments have changed. Now, 'deny'
means the same thing as 'drop'. The old behavior was inappropriately
surprising.
** Deprecated KernelTap element in favor of KernelTun.
** '--enable-clickfs' is the default. (Clickfs provides a symlink from
/proc/click to /click to make upgrading easier.)
** Removed elements deprecated in 1.2.4. This includes LookupIPRoute,
LookupIPRouteLinux, FromLinux, ToLinux, ToLinuxSniffers, PeekHandlers,
ProbSplitter, and RandomLossage.
** The 'void Element::run_scheduled()' method has been deprecated; use
'bool Element::run_task()' or 'void Element::run_timer()' instead.
'run_task()'s bool return value should be true iff the task managed to
do some useful work. (This helps the adaptive scheduler.)
** HandlerCall's interface has changed. So have the raw functions for
accessing handlers from a Router object.
** Element map files now use an XML format, and are called 'elementmap.xml'
or 'elementmap-PACKAGE.xml', not 'elementmap' or 'elementmap.PACKAGE'.
** LLRPCs now explicitly encode the amount of data they transfer to and
from the caller, using the same mechanism as ioctl(). This made it
possible to remove the local_llrpc() virtual method.
** Removed deprecated header files like <click/click_ip.h>.
** Changed ICMP structure and macro names in <clicknet/icmp.h>.
** Removed deprecated Element methods and method signatures, including
'Element::uninitialize()', 'Element::configure(const Vector<String> &)',
and 'Element::live_reconfigure(const Vector<String> &)'.
** Click declarations and definitions are now surrounded with CLICK_DECLS
and CLICK_ENDDECLS macros (see any source file for an example). These
macros normally do nothing. In the 'ns' driver, though, they drop all
Click declarations into a separate namespace.
** Removed 'String::operator const char *()', which caused problems with
newer GCCs.
* Drivers
** Add an optional adaptive task scheduler, written initially by Petros
Zerfos <pzerfos@cs.ucla.edu>. Give 'configure' the '--enable-adaptive'
option to turn it on. The adaptive scheduler takes less CPU time when
Click isn't busy, and lets you control the minimum and maximum shares
that Click will take of the CPU. This is particularly useful for the
Linux kernel module, on a uniprocessor, for running user-level programs
(tcpdump, for instance) as well as Click.
** Add support for Linux 2.4.20 and a newer Intel E1000 driver (4.3.15).
** Linux kernel module driver notices when other processes are waiting to
access the task list (to unschedule a task, for example), and explicitly
waits to give them a chance.
** Various Linux kernel module bug fixes, including a serious one in the
SKB manager (mismeasured packet sizes could cause a kernel crash
eventually).
** Add 'Task::strong_unschedule()', which moves tasks to the quiescent
thread; that way, tasks will not run even if they are rescheduled.
Useful in the presence of notification.
** Integrated the 'nsclick' driver from the University of Colorado, and
particularly by Michael Neufeld. This driver lets you integrate a Click
router with an ns simulation; Click can accept ns packets and return
packets to ns. See configure's '--enable-ns' option and the 'ns'
subdirectory.
** Improve performance of add_select() and remove_select() at user level.
* Elements
** Add SetUDPChecksum, TimestampAccum, PaintSwitch, KernelTun, MixedQueue.
** Added notification support to ToDevice, DelayUnqueue, Unqueue,
ToIPSummaryDump, ToDump.
** FromIPSummaryDump and ToIPSummaryDump: Add optional binary format to
save space and speed processing. Add 'aggregate', 'tcp_opt', 'tcp_sack',
'tcp_window', and 'first_timestamp' content types. FromIPSummaryDump
understands '!flowid' and '!aggregate' lines.
** FromDump and friends support 802.11 link types and the IPv6 Ethernet type.
** Extended or changed functionality for ToDump (optional output port),
Counter (different keyword argument names), CycleCountAccum and
PerfCountAccum (different handler names), ControlSocket (different
select() plan for writes reduces needless spinning; READONLY is a
keyword argument), DelayUnqueue (supports combination of long delays and
fast rates), IPFragmenter (HONOR_DF is a keyword argument), SetIPAddress
(supports live reconfiguration), UDPIPEncap (supports live
reconfiguration), IPGWOptions (lazy packet copying and better behavior
on bad options), ICMPError (accept mnemonic names for ICMP error types
and codes), IPReassembler (optionally emit dead fragments to output 1).
** Bug fixes to FromIPSummaryDump, ToIPSummaryDump, IPReassembler,
FromDump, ICMPRewriter, ICMPPingRewriter, ProgressBar, TCPRewriter,
AddressInfo, ARPResponder, ToHost, ToHostSniffers, Classifier,
InfiniteSource.
* Tools * Tools
** Add click2xml tool, for translating a Click configuration into an XML
format, and a preliminary version of xml2click, which goes the other
way.
** Changed meaning of click-mkmindriver's `-e' option. Now `-e' means ** Changed meaning of click-mkmindriver's `-e' option. Now `-e' means
`--expression' for consistency. `-E' means `--elements'. `--expression' for consistency. `-E' means `--elements'.
** click-install supports the BSD kernel module.
** Bug fixes to click-devirtualize, click-install, click-xform,
click-buildtool.
* Internals
** Add 'typename' where required to support newer GCCs.
** Add Packet::shrink_data(), Packet::icmp_header(), and some others.
** Change interface to BigHashMap iterators and BigHashMap_Arenas.
** At user-level, ErrorHandler supports '%[efgEFG]' conversions for
doubles. To print an element declaration, say '%{element}' (not '%e').
** Bug fixes to CLP, BigHashMap,
** Compiles cleanly on machines with 64-bit longs.
* Acknowledgements
** Thanks to AUTHORS, and (in no particular order) to YongKang Zhu, Filip
Henderieckx, Vlemincx Koen, David Scott Page, Wang Po-Cheng, Adam Smith,
Ryan Menezes, Gordon Lee, Chip Coldwell, Xiao Phong, Jose Vasconcellos,
Tomasz Jaskolski, Bart Samwel, and anyone we've missed.
Version 1.2.4 21.May.2002 Version 1.2.4 21.May.2002
......
THE CLICK MODULAR ROUTER RELEASE 1.2.4 THE CLICK MODULAR ROUTER RELEASE 1.3
====================================== ====================================
This is the README file for the source release for the Click modular This is the README file for the source release for the Click modular
software router. The first thing you should do is look for more recent software router. The first thing you should do is look for more recent
...@@ -38,6 +38,7 @@ CLICKDIR/elements/ip6 ... for IPv6 elements ...@@ -38,6 +38,7 @@ CLICKDIR/elements/ip6 ... for IPv6 elements
CLICKDIR/elements/ipsec ... for IPsec elements CLICKDIR/elements/ipsec ... for IPsec elements
CLICKDIR/elements/linuxmodule ... for Linux kernel-specific elements CLICKDIR/elements/linuxmodule ... for Linux kernel-specific elements
CLICKDIR/elements/local ... for your own elements (empty) CLICKDIR/elements/local ... for your own elements (empty)
CLICKDIR/elements/ns ... for 'ns'-specific elements
CLICKDIR/elements/radio ... for communicating with wireless radios CLICKDIR/elements/radio ... for communicating with wireless radios
CLICKDIR/elements/standard ... for generic elements CLICKDIR/elements/standard ... for generic elements
CLICKDIR/elements/tcpudp ... for TCP and UDP elements CLICKDIR/elements/tcpudp ... for TCP and UDP elements
...@@ -52,6 +53,7 @@ CLICKDIR/include/click common header files ...@@ -52,6 +53,7 @@ CLICKDIR/include/click common header files
CLICKDIR/include/clicknet header files defining network headers CLICKDIR/include/clicknet header files defining network headers
CLICKDIR/lib common non-element source code CLICKDIR/lib common non-element source code
CLICKDIR/linuxmodule Linux kernel module driver CLICKDIR/linuxmodule Linux kernel module driver
CLICKDIR/ns 'ns' driver (integrates with the ns simulator)
CLICKDIR/tools Click tools CLICKDIR/tools Click tools
CLICKDIR/tools/lib ... common code for tools CLICKDIR/tools/lib ... common code for tools
CLICKDIR/tools/click-align ... handles alignment for non-x86 machines CLICKDIR/tools/click-align ... handles alignment for non-x86 machines
...@@ -114,6 +116,11 @@ then install a configuration by hand with `cat CONFIGFILE > ...@@ -114,6 +116,11 @@ then install a configuration by hand with `cat CONFIGFILE >
/proc/click/config'. If any errors occurred, they will appear in /proc/click/config'. If any errors occurred, they will appear in
`/proc/click/errors'. But `click-install' is easier. `/proc/click/errors'. But `click-install' is easier.
NS Simulator
............
Give `./configure' the `--enable-ns' option. XXXX.
Configurations Configurations
.............. ..............
......
...@@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure script. ...@@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(pathvars.h.in) AC_INIT(pathvars.h.in)
AC_CONFIG_HEADER(include/click/config.h:config.h.in include/click/pathvars.h:pathvars.h.in include/click/config-bsdmodule.h:config-bsdmodule.h.in include/click/config-linuxmodule.h:config-linuxmodule.h.in include/click/config-ns.h:config-ns.h.in include/click/config-userlevel.h:config-userlevel.h.in) AC_CONFIG_HEADER(include/click/config.h:config.h.in include/click/pathvars.h:pathvars.h.in include/click/config-bsdmodule.h:config-bsdmodule.h.in include/click/config-linuxmodule.h:config-linuxmodule.h.in include/click/config-ns.h:config-ns.h.in include/click/config-userlevel.h:config-userlevel.h.in)
CLICK_VERSION=1.2.4a CLICK_VERSION=1.3pre1
AC_SUBST(ac_configure_args) AC_SUBST(ac_configure_args)
AC_DEFINE_UNQUOTED(CLICK_VERSION, "$CLICK_VERSION") AC_DEFINE_UNQUOTED(CLICK_VERSION, "$CLICK_VERSION")
......
%info
This test installs a configuration with conflicting handler names.
%script
click-install KERNELCONFIG
ls -R /click >HANDLERS
click-uninstall
%file KERNELCONFIG
config :: Idle;
i :: Idle;
i/i1 :: Idle;
i/name :: Idle;
%expect HANDLERS
/click:
1
2
3
4
classes
config
config
cycles
errors
flatconfig
hotconfig
i
list
meminfo
packages
priority
requirements
stop
threads
version
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter