aggregate6 - a fast versatile prefix list compressor

Job Snijders job at
Thu Nov 30 20:07:49 UTC 2017


I re-implemented the venerable 'aggregate' tool (by Joe Abley & co) in
python under the name of 'aggregate6'. The 'aggregate6' tool is faster
and also has IPv6 support.

Installation is can be done through 'pip', or your operating system's
package manager (if they carry the 'aggregate6' tool). 

    $ pip install aggregate6

Example use:

	$ echo 2000::/4 3000::/4 | aggregate6

Note that 'aggregate6' can also be imported as module in your own python

	>>> import from aggregate6 import aggregate
	>>> aggregate(["", ""])

Related to the above example, NTT uses 'aggregate6' as library in their
network automation toolchain to help compress firewall rules.

When using a dump from the IPv4 Default-Free Zone, it appears that
'aggregate6' can deaggregate that list ~ 50 times faster than
'aggregate'. However the tradeoff is that 'aggregate6' uses a bit more

Aggregate6 has been tested with pypy, python2 and python3; and can be
used both from the command line or as python module. Aggregate6 is
published under the 2-Clause BSD license.

Kind regards,


More information about the NANOG mailing list