diff --git a/README.md b/README.md index c19685a..50983ad 100644 --- a/README.md +++ b/README.md @@ -5,20 +5,44 @@ Intended to be a drop-in replacement for [aggregate6](https://github.com/job/agg Takes a list of whitespace-separated IPs or IP networks and aggregates them to their minimal representation. -## Known discrepancies with `aggregate6` +## Installation -* `rs-aggregate` accepts subnet and wilcard mask formats in addition to CIDR, ie all these are valid and equivalent: - * `1.1.1.0/255.255.255.0` - * `1.1.1.0/0.0.0.255` - * `1.1.1.0/24` -* `-m/--max-prefixlen` supports different maximums for each address family as ipv4,ipv6 format +`rs-aggregate` is built statically. CI-built binaries can be found in the GitHub +releases for most common platforms. Simply download the appropriate binary and +place it in your path. + +It can also be installed via some software management tools: + +### FreeBSD +``` +pkg install rs-aggregate +``` + +### Cargo +``` +cargo install rs-aggregate +``` + + +## Known differences from `aggregate6` + +* `-m/--max-prefixlen` supports different maximums for each address family as + ipv4,ipv6 format. A single value is also supported and has the same behaviour + as `aggregate6` (apply the same maximum to both address families). +* `-v` verbose dump is not supported +* Truncation errors (when host bits are set without the `-t` flag) are printed + based on the parsed address, ie. always in CIDR format, whereas `aggregate6` + prints errors based on the input. ## Performance Performance comparison of `rs-aggregate` vs `aggregate6`. A speedup of >100x is achieved on DFZ data. -Full DFZ (1154968 total, 202729 aggregates): +### Full DFZ (1154968 total, 202729 aggregates): ![dfz perf comparison](doc/perfcomp_all.png) -IPv4 DFZ (968520 total, 154061 aggregates): -![ipv4 dfz perf comparison](doc/perfcomp_v4.png) \ No newline at end of file +### IPv4 DFZ (968520 total, 154061 aggregates): +![ipv4 dfz perf comparison](doc/perfcomp_v4.png) + +### 1024 random prefixes (startup time): +![startup time comparison](doc/perfcomp_startup.png) \ No newline at end of file