diff --git a/AUTHORS b/AUTHORS
index 7bdd527445b6fbb289bcc2223b84ac55bfc6caca..ed4569b8eda40bd59ee90195683e6eee2d9c71c2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -28,8 +28,8 @@ Eddie Kohler
 kohler@cs.ucla.edu
 design, core, language, Linux /proc interface, Linux kernel module,
 standard elements, tools, documentation, distribution, IP rewriting
-elements, ClickController, other elements, Tasks, Linux 2.4, clickfs, 
-adaptive task scheduler
+elements, ClickController, other elements, Tasks, Linux 2.4, Linux 2.6,
+clickfs, adaptive task scheduler, continuing maintenance
 
 Mazu Networks, Inc.
 http://www.mazunetworks.com/
diff --git a/ChangeLog b/ChangeLog
index 7a7d5e63f7c561cc34fdbbf9cdd55b6cbbf6e3e7..45c9c71ae702eecdee85fab5f3c2a6c2e8ade349 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,209 @@
+2007-09-18 Tue 13:58:43 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 1bf329c1ae0c6fbba227dd94c1fd63bbc8c01255
+
+	* AUTHORS, ChangeLog, DISTFILES, README, configure, configure.in,
+	etc/libclick/lc-configure.in, etc/samplepackage/configure.ac: Add
+	more files to the distribution for 1.6.0 release.
+
+2007-09-18 Tue 13:37:05 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 7344172a79d08d38fc24834060494936beea4e18
+
+	* config-userlevel.h.in, configure,
+	elements/analysis/aggcounter.cc,
+	elements/analysis/aggpktcounter.cc,
+	elements/analysis/timestampaccum.cc,
+	elements/userlevel/fromfile.cc, m4/click.m4: Compilation fixes on
+	--disable-int64.
+	
+	Don't include large file support when --disable-int64; off_t
+	becomes 4 bytes long.  Also, ELEMENT_REQUIRE(int64) when
+	appropriate.  Problem reported by Joonwoo Park.
+
+2007-09-18 Tue 09:15:44 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 949daa4a22c3d4410dbb509c4b28cce6ef2a63f6
+
+	* elements/linuxmodule/: perfcountaccum.cc, perfcountuser.cc,
+	setperfcount.cc: Mark PerfCount elements as requiring Pentium Pro
+	and int64.
+	
+	Problem reported by Joonwoo Park.
+
+2007-09-18 Tue 08:55:47 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 862612cd6e461287fbeacb0d180844a4634ee66f
+
+	* config-linuxmodule.h.in, include/click/fixconfig.h: Correctly
+	spell a configuration variable.
+	
+	NOW LEAVING MORON COUNTRY #!(*&$^^(*&(*&(*!(*)$#!)!)@(#*()@(! 
+	Also, let the Linux build process include autoconf.h for us; don't
+	override it.
+
+2007-09-17 Mon 14:46:57 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 4dcddd534538155b79ce42f8f87c330193abb85a
+
+	* etc/pkg-userlevel.mk: Small fix to package makefiles: add -fPIC
+	to FLAGS.
+	
+	This is a version of a fix from Pavlos Papageorgiou, who likes to
+	override CXX.
+
+2007-09-17 Mon 13:49:47 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 00844b7668fe272765ddb1d810296f5c883bf21c
+
+	* DISTFILES, config-linuxmodule.h.in, configure, configure.in,
+	etc/libclick/DISTFILES, etc/pkg-linuxmodule-26.mk,
+	include/click/fixconfig.h: Avoid linking problems on linuxmodule.
+	
+	Linux attempts to be smart about SMP spinlocks: the "lock" prefix
+	is emitted, but on UP kernels, it is dynamically turned into a
+	no-op using information collected in a special linker section
+	(.smp_locks).  This interacts badly with C++: a template function
+	is emitted into its own .gnu.linkonce.t section, and then only one
+	version is chosen for the final binary -- but .smp_locks has
+	references to them ALL, causing link time problems about
+	"referenced in section / defined in discarded section". Avoid this
+	problem by redefining LOCK_PREFIX to "lock ; " (no linker magic)
+	early on in the build process.	Problem reported by Adam Greenhalgh
+	and others; thanks to Adam for a test machine.
+
+2007-09-16 Sun 10:13:59 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 72103424eec2887d8f2a968c2dbf14da4adf4d4d
+
+	* elements/userlevel/socket.cc: Check whether SO_TIMESTAMP exists
+	(it doesn't seem to on OpenBSD).
+	
+	Problem reported by Bob Keyes.
+
+2007-09-15 Sat 08:48:52 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 1422256bf77111346ddd0fef046b70bc60a9608a
+
+	* tools/lib/lexert.cc: Bug fix: count tool lexer errors correctly.
+
+2007-09-15 Sat 10:39:40 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit d13ada56f9a9c673457390126a551343740126cc
+
+	* lib/router.cc: Better error message.
+
+2007-09-15 Sat 10:50:36 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 0d963d68ee243464c3fe799e788dfaa4a1636170
+
+	* .gitignore: Ignore ignorables.
+
+2007-09-14 Fri 09:16:38 -0700  Roman Chertov <rchertov@purdue.edu>
+Commit a49a17e3540259fa03c82274302ba762909e0fb5
+
+	* elements/linuxmodule/: touserdevice.cc, touserdevice.hh: Correct
+	counter usage and add burst mode to ToUserDevice.
+	
+	Also add documentation for multipacket mode.  Relative to Roman's
+	patch, Eddie added burst mode (based on Roman's original burst
+	mode) and fixed documentation.
+	
+	Signed-off-by: Eddie Kohler <kohler@cs.ucla.edu>
+
+2007-09-13 Thu 10:45:38 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit a6f8bdba6866cb8dd8b62699a336ec43a97cdbbc
+
+	* include/click/vector.hh: Add Vector<T>::push_front() and
+	pop_front() operations.
+
+2007-09-14 Fri 08:48:09 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 61ee00cdea7a75254c1c54e00d43165ddd45d854
+
+	* config-bsdmodule.h.in, config-userlevel.h.in,
+	elements/linuxmodule/todevice.cc, elements/linuxmodule/todevice.hh,
+	lib/task.cc: Most Task methods safely do nothing
+	pre-initialization.
+	
+	This may fix David Moore's problem, which involved an unfortunate
+	interaction between FromHost (created a device) and ToDevice (got
+	notified of device creation and tried to schedule its task --
+	BEFORE the task was initialized: collapse).
+	
+	Also introduce likely() and unlikely() macros.
+
+2007-09-13 Thu 23:07:22 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit ab8a05b032d67345efc20c5a22df9db7bf0075de
+
+	* elements/linuxmodule/: fromuserdevice.cc, touserdevice.cc: Fix
+	ToUserDevice multimode: no bogus pointers.
+	
+	Problem reported by Roman Chertov.  This checkin also contains
+	several cleanups and reduced click_chatters from a patch of
+	Roman's.  For that reason (although he solved the basic multimode
+	problem differently):
+	
+	Signed-off-by: Roman Chertov <rchertov@purdue.edu>
+
+2007-09-13 Thu 22:43:41 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 35aebeba26c6b88311f8f3f2a10a48a2db36ecb7
+
+	* tools/click-devirtualize/: click-devirtualize.cc, specializer.cc,
+	specializer.hh: Fix devirtualize filename reference when
+	kernel/user configs differ.
+	
+	Problem reported by Pavlos Papageorgiou <pavlos@cs.umd.edu>.
+
+2007-09-13 Thu 22:22:29 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit e60baa5217233cd663bc584c51e4507340c9f9bc
+
+	* include/click/task.hh, lib/routerthread.cc, lib/task.cc: Don't
+	clear _should_be_scheduled immediately after setting it.
+	
+	Bug reported by Joonwoo Park; his fix is included in this, but this
+	fixes other instances of the problem too.
+
+2007-09-13 Thu 14:42:56 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 724db3002e595a269649b4ea7d9f156489860f05
+
+	* include/click/task.hh, lib/task.cc: More pending race conditions.
+	
+	Joonwoo Park reports yet another problem with notification on SMP
+	Click. Try to avoid this problem by only resetting
+	_should_be_scheduled to 0 while the thread lock is held; this
+	should make reschedule requests stick until they are satisfied. 
+	This adds an assignment to the fast_unschedule() fast path, but
+	this will probably not matter as the assignment is near variables
+	that already needed to be assigned.
+
+2007-09-13 Thu 14:41:07 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit b6a0addf88465d0eafb6a98cf3fa900d3d1008b2
+
+	* lib/router.cc: Do more router initialization before pausing
+	master.
+	
+	May improve hotswap performance a tad; hopefully no errors.
+
+2007-09-13 Thu 08:07:30 -0700  Nicolas Letor <nicolas.letor@gmail.com>
+Commit 3d50c91e692698585b6f09613916509e68df7b96
+
+	* elements/wifi/wirelessinfo.cc: Fix nsclick wifi compilation bug.
+	
+	Signed-off-by: Eddie Kohler <kohler@cs.ucla.edu>
+
+2007-09-12 Wed 17:56:41 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit e0d6f568d59d4eaa7dc04adbe87f6db7b9e6ed50
+
+	* lib/driver.cc, tools/click-devirtualize/click-devirtualize.cc,
+	tools/click-fastclassifier/click-fastclassifier.cc: Always compile
+	click_compile_archive_file() in tools.
+	
+	Problem reported by skatsu@gmail.com.  Also some copyright updates.
+
+2007-09-12 Wed 15:30:44 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 184a9128b8d0723cae6cdf819e4b3d6a2a9e8cdd
+
+	* include/click/atomic.hh, linuxmodule/Makefile.in: Include Linux's
+	CPPFLAGS when compiling linuxmodule.
+	
+	Maybe this fixes Adam Greenhalgh's problem?  Also, fix CLICK_DECLS
+	error in atomic.hh.
+
+2007-09-12 Wed 13:43:02 -0700  Eddie Kohler <kohler@cs.ucla.edu>
+Commit 24b9e38fa1a1eacf8a325807903be009b66c8ea6
+
+	* ChangeLog, NEWS: Update NEWS.
+
 2007-09-12 Wed 12:44:47 -0700  Puneet Sood <psood74@gmail.com>
 Commit 5be6c31ede58b812a3d6075dc91f597d1726eb66
 
diff --git a/DISTFILES b/DISTFILES
index 95136864d47f359737122aec7102bcda3f1943ed..624d2617ab3d14ba2ba3e0db9ee90bb74ade0d8e 100644
--- a/DISTFILES
+++ b/DISTFILES
@@ -312,6 +312,7 @@ click
 clicknet
 
 ./include/click:
+algorithm.hh
 archive.hh
 atomic.hh
 bighashmap.cc
@@ -449,6 +450,7 @@ clickfs.cc
 config.cc
 kernelversion.c
 module.cc
+moduleparm.h
 modulepriv.hh
 proclikefs.c
 proclikefs.h
@@ -516,6 +518,7 @@ ICMPPingEncap-01.testie
 ICMPRewriter-01.testie
 
 ./test/ip:
+IPReassembler-01.testie
 iplookups-01.testie
 
 ./test/linuxmodule:
@@ -531,10 +534,13 @@ MixedQueue-01.testie
 MixedQueue-02.testie
 Queue-yank-01.testie
 StrideSched-01.testie
+confparse-01.testie
 notifier-01.testie
 notifier-02.testie
 notifier-03.testie
 notifier-04.testie
+sort-01.testie
+vector-01.testie
 
 ./test/tcpudp:
 UDPIPEncap-01.testie
diff --git a/README b/README
index 981305be82d764c09390f04a6f19f3bfb5497fff..b84a1e379373a31bb564a2dccf47d8ce271f0d96 100644
--- a/README
+++ b/README
@@ -4,7 +4,7 @@ THE CLICK MODULAR ROUTER RELEASE 1.6.0
     This is the README file for the source release for the Click modular
 software router. More recent information may be available on the Web at
 
-	http://www.pdos.lcs.mit.edu/click/
+	http://www.read.cs.ucla.edu/click/
 
     Click is a modular router toolkit. To use it you'll need to know how to
 compile and install the software, how to write router configurations, and
@@ -151,8 +151,8 @@ GNU General Public License is available via the Web at
 <http://www.gnu.org/licenses/gpl.html>, or in the COPYING file in this
 directory. The GPL applies to the source files in drivers/e1000*, to the
 files etc/linux-*-patch, linuxmodule/clickfs.cc, linuxmodule/proclikefs.c,
-linuxmodule/sched.cc, and linuxmodule/skbmgr.cc, and possibly to some of
-the files in elements/linuxmodule.
+linuxmodule/sched.cc, and linuxmodule/skbmgr.cc, and some of the files in
+elements/linuxmodule.
 
     Typically, element code that uses only Click's interfaces will *not* be
 derived from the Linux kernel, so the BSD-like 'LICENSE' will apply, not
@@ -164,19 +164,11 @@ BUGS, QUESTIONS, ETC.
 
     We welcome bug reports, questions, comments, code, whatever you'd like
 to give us. We also have a mailing list for software announcements, and an
-anonymous CVS repository where you can access our latest and greatest
-source code. Write us at
+anonymous Git repository (also accessible via CVS) where you can access our
+latest source code. Write us at
 
 	click@pdos.lcs.mit.edu
 
-	- The Click software team:
+	- The Click maintainers:
 	  Eddie Kohler
-	  John Bicket
-	  Benjie Chen
-	  Douglas S. J. De Couto
-	  Robert Morris
-	  Max Poletto
-	  M. Frans Kaashoek
-	  John Jannotti
-	  Nickolai B. Zeldovich
 	  and others
diff --git a/configure b/configure
index 537cd06f9e4bf2f41129f3271d32af64f75f05c0..4401204698afe777167586aebe1e567be424ed7e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for click 1.6.0pre.
+# Generated by GNU Autoconf 2.61 for click 1.6.0.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -572,8 +572,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='click'
 PACKAGE_TARNAME='click'
-PACKAGE_VERSION='1.6.0pre'
-PACKAGE_STRING='click 1.6.0pre'
+PACKAGE_VERSION='1.6.0'
+PACKAGE_STRING='click 1.6.0'
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
@@ -1255,7 +1255,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures click 1.6.0pre to adapt to many kinds of systems.
+\`configure' configures click 1.6.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1321,7 +1321,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of click 1.6.0pre:";;
+     short | recursive ) echo "Configuration of click 1.6.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1452,7 +1452,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-click configure 1.6.0pre
+click configure 1.6.0
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1466,7 +1466,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by click $as_me 1.6.0pre, which was
+It was created by click $as_me 1.6.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -16478,7 +16478,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by click $as_me 1.6.0pre, which was
+This file was extended by click $as_me 1.6.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16531,7 +16531,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-click config.status 1.6.0pre
+click config.status 1.6.0
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.in b/configure.in
index 8f09641dbdb0342d53957f5bfa7347ec1690174a..fe8aeb518888983a1825f20ef1cca73ce2985006 100644
--- a/configure.in
+++ b/configure.in
@@ -11,7 +11,7 @@ dnl The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This
 dnl notice is a summary of the Click LICENSE file; the license in that file is
 dnl legally binding.
 
-AC_INIT(click, 1.6.0pre)
+AC_INIT(click, 1.6.0)
 AC_PREREQ(2.50)
 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)
 
diff --git a/etc/libclick/lc-configure.in b/etc/libclick/lc-configure.in
index 5f47be38b68b63fd6d12d0071dcf9651d4416d7e..15c9e379a7ffd84f69f1926f83921cc0df91d2ec 100644
--- a/etc/libclick/lc-configure.in
+++ b/etc/libclick/lc-configure.in
@@ -11,7 +11,7 @@ dnl The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This
 dnl notice is a summary of the Click LICENSE file; the license in that file is
 dnl legally binding.
 
-AC_INIT(libclick, 1.5.0)
+AC_INIT(libclick, 1.6.0)
 AC_PREREQ(2.50)
 AC_CONFIG_HEADER(include/click/config.h:config.h.in include/click/pathvars.h:pathvars.h.in include/click/config-userlevel.h:config-userlevel.h.in)
 
diff --git a/etc/samplepackage/configure.ac b/etc/samplepackage/configure.ac
index 4263b813751506895f2ba575f57930f0680427d4..b77f65452f57bc97a947d9c5722685f8e1077ce1 100644
--- a/etc/samplepackage/configure.ac
+++ b/etc/samplepackage/configure.ac
@@ -16,7 +16,7 @@ dnl
 dnl the usual 'configure.ac' boilerplate
 dnl
 
-AC_INIT(click-samplepackage, 1.5.0)
+AC_INIT(click-samplepackage, 1.6.0)
 AC_SUBST(ac_configure_args)
 
 CLICKPACKAGENAME=sample