2023-03-13 23:11:45 -07:00
|
|
|
# rs-aggregate
|
2023-03-14 00:40:01 -07:00
|
|
|
rs-aggregate will aggregate an unsorted list of IP prefixes
|
2023-03-13 23:11:45 -07:00
|
|
|
|
2023-03-18 21:37:13 -07:00
|
|
|
Intended to be a drop-in replacement for [aggregate6](https://github.com/job/aggregate6) with better performance.
|
2023-03-13 23:11:45 -07:00
|
|
|
|
2023-03-18 21:37:13 -07:00
|
|
|
Takes a list of whitespace-separated IPs or IP networks and aggregates them to their minimal representation.
|
|
|
|
|
|
|
|
## Known discrepancies with `aggregate6`
|
|
|
|
|
|
|
|
* `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
|
|
|
|
|
|
|
|
## Performance
|
|
|
|
|
|
|
|
Performance comparison of `rs-aggregate` vs `aggregate6`. A speedup of >100x is achieved on DFZ data.
|
|
|
|
|
|
|
|
Full DFZ (1154968 total, 202729 aggregates):
|
2023-03-18 21:50:46 -07:00
|
|
|
![dfz perf comparison](doc/perfcomp_all.png)
|
2023-03-18 21:37:13 -07:00
|
|
|
|
|
|
|
IPv4 DFZ (968520 total, 154061 aggregates):
|
2023-03-18 21:50:46 -07:00
|
|
|
![ipv4 dfz perf comparison](doc/perfcomp_v4.png)
|