Improve README

This commit is contained in:
Keenan Tims 2023-11-16 21:31:28 -08:00
parent 948e30ce00
commit fc24a5db72
Signed by: ktims
GPG Key ID: 11230674D69038D4

View File

@ -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. 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: `rs-aggregate` is built statically. CI-built binaries can be found in the GitHub
* `1.1.1.0/255.255.255.0` releases for most common platforms. Simply download the appropriate binary and
* `1.1.1.0/0.0.0.255` place it in your path.
* `1.1.1.0/24`
* `-m/--max-prefixlen` supports different maximums for each address family as ipv4,ipv6 format 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
Performance comparison of `rs-aggregate` vs `aggregate6`. A speedup of >100x is achieved on DFZ data. 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) ![dfz perf comparison](doc/perfcomp_all.png)
IPv4 DFZ (968520 total, 154061 aggregates): ### IPv4 DFZ (968520 total, 154061 aggregates):
![ipv4 dfz perf comparison](doc/perfcomp_v4.png) ![ipv4 dfz perf comparison](doc/perfcomp_v4.png)
### 1024 random prefixes (startup time):
![startup time comparison](doc/perfcomp_startup.png)